2012-03-15 9 views
2

before_filterの各リクエストによって2つのメソッドが起動されています。これらのメソッドをいくつかの場所に置いてみましたが、libの下のファイルでそれらのメソッドを使用することになりました。これらのメソッドを配置する正しい場所はどこですか?理想的には、他のものを含めて、すべてのコントローラにこれらを自動的にアクセス可能にしたいと思います。before_filterにアクセス可能なレール全体のメソッドのための正しい場所

答えて

4

ApplicationControllerにいくつかのコントローラで使用されているメソッドを配置できます。ほとんどのリクエストでこのbefore_filterを実行する必要がある場合は、ApplicationControllerにも入力してください。特定のアクションのフィルタは無視してskip_before_filterとすることができます。例はhereです。

+0

コントローラがリクエストを処理し、モデルからデータ/関数を利用できるようにすることは私の理解であった。コントローラの非要求関連メソッドを詰め込むことは、Railsの基本概念の1つに反していないでしょうか? –

+1

@franklinstineもしコードが要求の処理に関係せず、どこか別の場所で再利用できると思うなら、libフォルダのモジュールやクラスに入れて、 'ApplicationController'の' before_filter'から呼び出してください。 – Baldrick

+0

それは私が今、どのように私はちょうど最高/最も好ましいオプションだったかどうかは分かりませんでした。 –

関連する問題