2012-03-02 3 views
0

アクションを実行してビューをレンダリングしたい。基本的に私は、すべての単一のページに表示する必要がある "今後の予約"の数を持っています。何が起きているのかを素早く見て、ユーザーは何が起こっているのか全体像を知ることができます。コントローラのレンダリングアクション

私が計画していたことは、その特定のアクションのためのキャッシュメカニズムを持っていることでした。そのため、レイアウトで最も可能性が高いと考えられました。

これは可能ですか?レンダリングテンプレートとレンダリングパーシャルがアクションを呼び出さないようです。つまり、そのビューでアクセス可能なインスタンス変数が利用できないか、単に私がしたいことをしないことを意味します。

答えて

2

うん、ご質問が分かりましたら、before_filterとしたいと思います。 before_filterは、before_filterが登録されているコントローラーまたはその子孫のいずれかの各アクションの前に実行されるコールバックです。

コントローラのアクションの前に呼び出される関数が本当に必要な場合は、これを行う方法はApplicationControllerにあり、ActionControllerから継承するすべてのコントローラのアクションに対して実行されます。

class ApplicationController < ActionController::Base 
    before_filter :do_something 

    def do_something 
    WHATEVER IT IS YOU WANT TO DO INCLUDING SETTING INSTANCE VARIABLES 
    end 
end 

次に、アクションの前にdo_somethingが呼び出されることを保証することができます。

これが役に立ちます。

+0

これは私が他のフレームワークでやったことですが、それは私がレールでそれを行うことを知らなかったことです。試してみよう。 – Kezzer