【发布时间】:2017-07-04 12:32:18
【问题描述】:
我在从 self.method 外部获取应用程序数据时遇到问题。
要使用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 中所做的那样?
【问题讨论】:
标签: ruby-on-rails ruby background-process delayed-job