0

複数のコントローラーで使用できる認証コードがあります。そこで、認証コードをスーパークラスに入れて、他のすべてのコントローラーにこのスーパークラスを拡張させることを考えました。次に、ActionControllerクラス自体に追加できることを知りました。どうすればそれができますか?事前定義されたクラスを変更する方法はありますか?

4

3 に答える 3

1

実際には、すべてのコントローラーはすでにから継承しているはずです。ApplicationController次に、から継承しActionController::Baseます。そして、認証コードをに含めることApplicationControllerは、実際には非常に慣用的です。

于 2010-02-07T19:09:19.153 に答える
1

app / controllers / application_controller.rbにあり、プロジェクトのすべてのコントローラーの直接のスーパークラスであるApplicationControllerクラスにメソッドを追加する必要があります(script / generateを使用してコントローラーを作成し、スーパークラスを変更しなかったと仮定します)。

于 2010-02-07T19:11:22.703 に答える
0

すべてのコントローラーはすでに拡張されてApplicationControllerいるので、authorizeメソッドを追加し、before_filterそのメソッドを呼び出すだけでApplicationController、すべてのコントローラーの設定が完了します。

于 2010-02-07T19:11:06.170 に答える