Zin*_*inc 3 ruby ruby-on-rails ruby-on-rails-3
任何想法为什么这不起作用,我得到一个NoMethodError当我尝试运行下面的代码通过rails runner.
也许我正在调用rails runner,对Rails来说不好意思!
文件位置:
/app/scripts/data_import.rb
Run Code Online (Sandbox Code Playgroud)
命令:
rails runner -e development DataImport.say_hi
Run Code Online (Sandbox Code Playgroud)
错误:
undefined method `say_hi' for DataImport:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
码:
class DataImport
def say_hi
puts "hi"
end
end
Run Code Online (Sandbox Code Playgroud)
Pan*_*kos 12
您正在调用类的实例方法,因此它未定义.尝试将您的方法改为类方法:
class DataImport
def self.say_hi
puts "hi"
end
end
Run Code Online (Sandbox Code Playgroud)
将其更改为
class DataImport
def self.say_hi
puts "hi"
end
end
Run Code Online (Sandbox Code Playgroud)
由于您将其作为类方法而不是类的实例上的方法进行访问,因此您需要self将该方法声明为类方法.
| 归档时间: |
|
| 查看次数: |
4343 次 |
| 最近记录: |