私のDevise/Wardenベースのアプリは、モデルIDをsession[]変数に格納します。session[]が破棄されたときにオブジェクトを破棄したい。
- セッションが破棄されたときにアプリに通知するためのコールバックまたは何らかのメカニズムはありますか?
- メカニズムは信頼できますか、それとも、孤立したオブジェクトをバキュームするために毎晩クリーンアップスクリプトを実行する必要がありますか?
明確にするために、これが私のコントローラーコードのスニペットです:
class WizardsController < ApplicationController
before_filter :find_or_create_wizard
...
private
def find_or_create_wizard
@wizard = Wizard.find_by_id(session[:wizard_id]) || Wizard.create.tap {|w| session[:wizard_id] = w }
end
end
質問を言い換えると、ウィザードオブジェクトをいつどのように破棄する必要がありますか?