0

私はDeclarative Authorization gem を使用しており、authorization_rules.rbには次のルールがあります。

  role :admin do
    has_permission_on :users, :to => [manually set up all actions in this controller]
  end

それぞれのコントローラーですべてのアクションへのアクセスを設定するよりエレガントな方法はありますか? 私はこれらの方法を試しました

  role :admin do
    has_permission_on :users, :to => :all
  end

  role :admin do
    has_permission_on :users
  end

しかし、何もうまくいきません。コントローラーですべてのアクションを設定するのに、すべてのアクションを惜しみなく入力するよりも良い方法はありますか?

4

2 に答える 2

0

アクションは、コントローラークラスのパブリックメソッドです。以下のコードはテストされていませんが、開始する必要があります。

c = MyController
actions = []
c.public_methods(false).each { |m| actions << m.to_sym }

role :admin do
  has_permission_on :users, :to => actions
end
于 2012-09-10T20:00:52.377 に答える