在模型中写了一个方法,但我不能在某个时间间隔后使用whennv gem来执行该方法,以下是我的代码:-。
stage.rb (model)
def check_project_activity
// code here
end
schedule.rb
every 1.day, at: '4:30 am' do
runner "Stage.check_project_activity"
end
方法调用会产生错误,但是通过终端调用这个方法却可以正常工作。
你调用的是实例方法 check_project_activity
就像它是类方法一样。
如果你的逻辑不依赖于实例,就把它变成类方法。
def self.check_project_activity
// code here
end
你显示的是一个实例方法,也就是说你只能调用 check_project_activity
在一个特定的阶段实例上。
也许你想检查所有项目的活动?
在这种情况下,在模型中,您将会有
def self.check_all_stages_project_activity
all.each do |stage|
stage.check_project_activity
end
end
而在你的 schedule_rb
你就会
every 1.day, at: '4:30 am' do
runner "Stage.check_all_stages_project_ativity"
ed