rolify多角色检查应该总是包括1个更多的全局角色?

时间:2014-04-21 01:41:05

标签: ruby-on-rails rolify

我检查the docs但它只在包含1个全局角色时才有效。 如何在没有全局角色的情况下进行多个角色检查?

user.add_role :admin
user.add_role(:user, group)
user.add_role(:mentor, group)
user.has_all_roles? :admin, {:name => :mentor, :resource => group} 
=> true
user.has_all_roles? {:name => :mentor, :resource => group}, {:name => :user, :resource => group}
=> SyntaxError: (irb):27: syntax error, unexpected =>, expecting '}'
user.has_any_role? :admin, {:name => :mentor, :resource => group}, {:name => :user, :resource => group}
=> true
user.has_any_role? {:name => :mentor, :resource => group}, {:name => :user, :resource => group}
=> SyntaxError: (irb):30: syntax error, unexpected =>, expecting '}'

1 个答案:

答案 0 :(得分:2)

非常讨厌,但简直解决了!原因在于写作

user.has_all_roles? {...}

你告诉ruby:我正在给这个方法调用一个块...而这显然不是你想要的。

简单修复:只需在方法调用中添加括号:

user.has_all_roles?( {...} )