小编1do*_*ski的帖子

使用Ruby将文件从一个目录复制到另一个目录

嘿我正在尝试将多个文件从一个文件夹移动到另一个文件夹.在FileUtils行中,我尝试搜索目标文件夹中的所有4个字符文件夹,然后将该文件粘贴到与文件具有相同基本名称的文件夹中.

#!/usr/bin/env ruby

require 'fileutils'

my_dir = Dir["C:/Documents and Settings/user/Desktop/originalfiles/*.doc"]
my_dir.each do |filename| 
  FileUtils.cp(filename, "C:/Documents and Settings/user/Desktop/destinationfolder/****/" + File.basename(filename, ".doc"))
end
Run Code Online (Sandbox Code Playgroud)

ruby dir

26
推荐指数
1
解决办法
4万
查看次数

升级到 Rails 6 - Devise OmniAuth Twitter NoMethodError

将 Rails 和设备升级到 6。

更新此 CSRF 错误后https://github.com/heartcombo/devise/issues/5236到达:

Started POST "/users/auth/twitter" for ::1 at 2022-09-22 21:24:44 -0400
(twitter) Request phase initiated.
(twitter) Authentication failure! undefined method `downcase' for nil:NilClass

        "#{u.scheme.downcase}://#{u.host.downcase}#{(u.scheme.casecmp("http").zero? && u.port != 80) || (u.scheme.casecmp("https").zero? && u.port != 443) ? ":#{u.port}" : ""}#{u.path && u.path != "" ? u.path : "/"}"
                                        ^^^^^^^^^: NoMethodError, undefined method `downcase' for nil:NilClass

Processing by Users::OmniauthCallbacksController#failure as HTML
Run Code Online (Sandbox Code Playgroud)

宝石文件:

ruby "3.1.0"
gem 'rails', '6.0.3.1'

gem 'devise'
gem 'omniauth-facebook'
gem 'omniauth-twitter'
gem "omniauth-rails_csrf_protection", "~> …
Run Code Online (Sandbox Code Playgroud)

authentication ruby-on-rails oauth devise twitter-oauth

6
推荐指数
1
解决办法
479
查看次数

ES6级承诺链 - 访问'this'

我想在我的第二个承诺中引用一个类属性.但是,在类函数pTwo中,'this'是未定义的.我知道我处于承诺范围内,我如何访问PromiseChain实例范围?

使用ES6和本机承诺.

class PromiseChain {
    constructor(){
        this.food = 'Pasta';
        this.type = 'Italian';
    }

    pOne() {
        console.log('pOne');
        return Promise.resolve();
    }

    pTwo() {
        console.log('pTwo');
        try {
            console.log(this.food);
        } catch (e) {
            // can't read 'food' of undefined! 
            console.log(e);
        }
        return Promise.reject()
    }

    work() {
        console.log('Get to work!');
        this.pOne().then(this.pTwo).catch((error) => {
            console.log(error);
        })
    }
}

new PromiseChain().work();
Run Code Online (Sandbox Code Playgroud)

javascript class promise ecmascript-6

3
推荐指数
1
解决办法
2276
查看次数

Rails加入查询

我有三个型号

  • Tag=> :id,:name
  • Tagging=> ,,:id:tag_id:post_id
  • Post=> :id,:summary

我知道标签的ID.我想tag_id通过Taggings模型查询具有特定内容的所有帖子.

就像是

@post = Post.joins(:taggings).where(:tag_id => 17)
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它在Post模型中寻找tag_id 而不是Tagging模型.

我不知道该怎么做.

postgresql activerecord ruby-on-rails ruby-on-rails-3

2
推荐指数
2
解决办法
1万
查看次数

自定义函数使用工作表名称作为参数

我有这样的功能:

Function GetLastRowOnSheet(ByVal SheetName As Worksheet) As Long
    On Error Resume Next
    GetLastRowOnSheet = SheetName.Cells.Find(what:="*", after:=SheetName.Cells(1),     searchorder:=xlByRows, searchdirection:=xlPrevious).Row
    On Error GoTo 0
End Function
Run Code Online (Sandbox Code Playgroud)

假设我有一张名为"Sheet1"的工作表,在我的Excel工作表中,我希望能够说= GetLastRowOnSheet('Sheet1')或使用命名范围

我可以使用上面的函数以及包含以下函数的子例程或函数在vba中轻松完成此操作:

Dim Sheet1 As Worksheet
Dim LastRow as Long
Set Sheet1 = ThisWorkbook.Sheets("Sheet1")
LastRow = GetLastRowOnSheet(Sheet1)

' last row then returns the last filled in cell on the sheet
Run Code Online (Sandbox Code Playgroud)

思考?

vba excel-2007 excel-vba excel-formula excel-2010

1
推荐指数
1
解决办法
3万
查看次数