我收到以下错误:
#<NoMethodError: undefined method `find_it' for #<struct xJob xxxx_id=527>>
我有一个控制器,它在控制器方法的末尾创建一个delayed_job,如下所示:
xJob.new(@xxxx.id).perform
然后在/lib/xJob.rb中:
class xJob < Struct.new(:xxxx_id)
include ActionView::Helpers
def perform
begin
.......
goodstuff = find_it(stuff)
.......
rescue Exception => e
.....
end
end
def self.find_it(body)
....
end
end
我需要将self添加到self.find_it,否则我无法在rspec中测试该方法。但现在它似乎已经超越了RSPEC。
想法?感谢
答案 0 :(得分:2)
只需从find_it方法声明中删除“self”即可。因为当你定义它时它就变成了xJob的类方法,而不是实例方法。