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