我在从self.method之外获取应用程序数据时遇到问题。delayed_job传递实例方法和变量?
要使用Model.delay.method,该方法必须是一个类。我真的很喜欢这一点,它需要我所有的东西(比如在调用方法时保存输入参数),但是我需要做的是从方法外部获取变量。
例如: 用户单击按钮并启动计时器。
QuizzesController.delay(run_at: @quiz.time_limit.minutes.from_now).form_timeout(session[:user_id],session[:test_password])
方法form_timeout看起来是这样的:
def self.form_timeout(id, test_password)
if test_password == session[:test_password]
Score.create(user_id: id, name: test_password, points: -1)
session.delete(:test_password)
end
end
当我尝试这样做,我得到一个错误“未定义的方法会”,这意味着使用self.method时我无法达到这个数据。
任何想法如何绕过这一点,让session[:test_password]
(会话必须通过最先进的最新信息,因为我是从时间比较session[:test_password]
当计时器已经启动(旧的),并从时间,当它结束(新) )像我在self.method中做的那样?
我可以访问其他实例方法吗?我可以使类方法将参数(定时器变为0后)传递给即时方法并调用它。那有意义吗? – Kappa
哪些类的实例的方法,我可以问吗? –
在类方法内调用实例方法。我读过一些东西,似乎我不能那样做。 – Kappa