0

我使用声明式授权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

这就是我所做的:

has_permission_on :controller, :to => [:all]
于 2013-05-11T08:39:44.443 回答
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 回答