Rails 4.2アプリケーションでは、モジュールのアプリケーションコントローラ内のメソッドview_handler
がnil
にsession
の変数を取得しています。ここでは、コードの構造は次のとおりです。セッションがアプリケーションコントローラ内でnilになる
class my_module < ApplicationController
def view_handler
#access session[:page_step] which is defined in controller.
end
end
デフォルトのCookieストアは、セッションのために使用されます。
Rails.application.config.session_store :cookie_store, key: '_my_app_session'
我々はview_handler
をメインに移動したときに問題が同じであるため、これはscope
問題ではないことを確認しアプリのapplication controller
application controller
とデバッグにおいて
、session
オブジェクトはnil
値とが、存在する:ここ
>session.present? #false
>session.nil? #true
>session[:page_step] #nil
デバッグ中session
目的です。アプリ定義されたセッション変数を保持している@Delegateは空です:デバッグでも
、session[:page_step]
再表面再び後半controller
アクションインチ何らかの形でsession[:page_step]
(および他のセッション変数)は、application controller
にnil
、controller
に再サーフェスになります。 application controller
のデフォルトではsession variables
がRAILS
で利用可能であるため、application controller
では何がゼロになる可能性がありますか?
おそらく【このSO質問](http://stackoverflow.com/a/30791578/1544012)関連していますか? – BoraMa
私たちのケースでは、かなりの数のセッション変数が作成され、 'session'に格納されています。同じ問題ではありません。 – user938363
おそらくCSRFの問題です:http://stackoverflow.com/a/18576525/1483788を参照してください。 –