データベースの値を変数に格納する必要があり、コントローラ内のすべてのアクションからこの変数にアクセスする必要があります。Rails 3 - コントローラのコンストラクタアクション?
例えば、I 3つのアクション有するコントローラhome
ある:私はapplication_controller.rb
に変数に値を格納しようと
- 約
- 接触
- ブログ
をしかしこれはうまくいかなかった。
どうすればいいですか?
データベースの値を変数に格納する必要があり、コントローラ内のすべてのアクションからこの変数にアクセスする必要があります。Rails 3 - コントローラのコンストラクタアクション?
例えば、I 3つのアクション有するコントローラhome
ある:私はapplication_controller.rb
に変数に値を格納しようと
をしかしこれはうまくいかなかった。
どうすればいいですか?
これは永続性に関するものです。実際のWebサイトを回避するには、ステートレスです。クッキーに保存してデータを保持します。 Railsはセッションハッシュと呼ばれる便利な方法を提供します。また、あなたは、あなたがその変数を取得したいときは、単に
session[:some_variable] = some_variable
を呼び出す保存したい値がそれからちょうど
を呼び出して取得する時点で (これはまた、セッションハッシュである)フラッシュハッシュを使用することができます before_filterは 便利ここで読むことができ、あなたはすべてのコントローラアクションのためにこれをしたい場合はsome_variable = session[:some_variable]
はあなた
に理にかなって何かをsome_variableを交換してください約before_filters http://apidock.com/rails/ActionController/Filters/ClassMethods/before_filter
大きなオブジェクトまたはオブジェクトの配列をセッションに保存しないでください。 active_recordオブジェクトへの参照を保持する必要がある場合は、レコードのIDだけを格納し、必要なときにそのレコードを検索することができます。
コントローラやアクションを共有する価値currently_logged_in_user?申し訳ありませんが、私はあなたの英語を理解するのに苦労しています – jamesc
はい、何か書いたような – user1946705
私は私の答えを追加します – jamesc