4

ActiveAdmin(http://activeadmin.info/)が既存のコントローラーとどのように連携するかを理解するのが難しいと感じています

私は次のコントローラーを持っています

app/controllers/projects_controller.rb

上記のコントローラーのビューにActiveAdminUIを正常に実装できました。しかし、私の質問は、コントローラーに次のbefore_filterを追加したことです

class StaticContentsController < ApplicationController
  before_filter :list_content_types

  def index
    @static_contents = StaticContent.all
  end

end

しかし、このフィルターは実行されていないようです。実際、indexメソッド内のコードを次のように変更しました。

@static_contents = abc StaticContent.all

'abc'セクションが原因でエラーが発生するはずですが、驚くべきことに、私のアプリはエラーなしで動作します。私の推測では、「ActiveAdmin」は既存のコントローラーではなく、自分自身のコントローラーを読み取ります

これは私のインデックスアクションパスです

http://localhost:3000/admin/static_contents

これは開発モードです

誰かがコントローラーがActiveAdminでどのように機能するかを理解するのを手伝ってくれますか、それともここで何かが足りませんか?

以下は私の設定です

rails(3.0.0)ruby 1.8.7 activeadmin(0.3.2)

前もって感謝します

sameera

4

1 に答える 1

1

Activeadminコントローラーは、アプリのコントローラーと同じではなく、別個のものです。コードがactiveadminインターフェースからの例外を引き起こしていない理由は、そのコードがヒットしないためです。activeadminコントローラーのドキュメントには、デフォルトのactiveadminアクションを変更する方法が指定されています。

于 2011-10-20T20:10:29.583 に答える