self.methodの外部からアプリケーションデータを取得する際に問題があります。delayed_jobはインスタンスのメソッドと変数を渡しますか?
Model.delay.methodを使用するには、メソッドがクラス1でなければなりません。
私は本当に好きです(メソッドを呼び出すときに入力パラメータを保存するなど)、必要なのはメソッドの外部から変数を取得することだけです。
例: ボタンをクリックしてタイマーを開始します。
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]
(最新の情報を渡す必要があります)は、タイマが開始した時刻(古いもの)と終了時刻(新しいもの)とを比較しているため、最新の情報を渡す必要があります。 )私はself.methodでやったように?
他のインスタンスメソッドにアクセスできますか?私はクラスメソッドを作ることができます(タイマーの後にパラメータを渡す)は、インスタントメソッドに呼び出して、それを呼び出します。それは理にかなっていますか? – Kappa
どのクラスのインスタンスを取得することができますか? –
クラスメソッド内のインスタンスメソッドを呼び出します。私はいくつかのことを読んだが、私はそれをすることができないようだ。 – Kappa