我在 /lib
下有一个文件,它有自己的方法。
# lib/file.rb
class File < ApplicationController
def my_method
...
end
end
但是我无法通过控制台访问该方法
ruby-1.9.2-p290 :044 > File.my_method
NoMethodError: undefined method `my_method' for File:Class
知道怎么做吗?
最佳答案
my_method
是 File
类的实例方法。这意味着您只能在 File
类的实例上调用它。
file = File.new
file.my_method
您可以使用 def self.my_method
语法将 my_method
声明为类方法。
class File < ApplicationController
def self.my_method
...
end
end
File.my_method
但是在类方法中你不能使用 File
对象的实例变量。
关于ruby-on-rails - 如何在Ruby中调用外部类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10643614/