嗨,我
必须从 resuq 作业中的模块访问一个方法,我不断收到此错误:方法无法访问。我是否错误地使用了模块?
class TestResqueJob
include TestModule
@queue = :test_resque
def self.perform(params)
method_from_module
end
end
module TestModule
def method_from_module
puts "test"
end
end
您似乎正在尝试在公共方法中调用实例方法。如果您希望您的模块方法是类方法更改为类方法include
更改为extend
class TestResqueJob
extend TestModule
@queue = :test_resque
def self.perform(params)
method_from_module
end
end
这将使您在模块中定义的所有方法都成为类方法