我使用声明授权 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
但没有任何作品对我有用。是否有更好的方法来设置控制器中的所有操作,而不是盲目地键入每个操作?
答案 0 :(得分:0)
操作是控制器类上的公共方法。下面的代码未经测试,但应该让您入门。
c = MyController
actions = []
c.public_methods(false).each { |m| actions << m.to_sym }
role :admin do
has_permission_on :users, :to => actions
end
答案 1 :(得分:0)
这就是我的所作所为:
has_permission_on :controller, :to => [:all]