1

私の AA アプリでは、次の手順を使用して、管理者以外のユーザーに表示したくないメニューを非表示にします。

menu :if => proc{ current_user.is_admin? }

ただし、これは、これらのユーザーが URL に /admin/users を入力して、ユーザーのメニュー コンテンツにアクセスすることを妨げるものではありません。管理者以外のユーザーが非表示のメニューにアクセスできないようにする最善の方法は何ですか?

4

1 に答える 1

2

これは cancan で行うか、次のように独自のフィルターを作成できます。

controller do
  before_filter :check_admin
  def check_admin
    unless current_user.is_admin?
     redirect_to "/", :error => "Access denied"
    end
  end
end

cancan gemの場合、能力ファイルを定義する必要があり、それから使用できます

 controller.authorize_resource

activeadmin が提供するメソッド。

于 2013-04-15T06:23:40.517 に答える