2
我使用cancan作为我的授权引擎。Rails 3:向用户添加角色
我已经在用户的角色:
ROLES = %w[admin normal author corp]
我也有方法来添加和检查的作用:
#cancan
def roles=(roles)
self.roles_mask = (roles & ROLES).map { |r| 2**ROLES.index(r) }.sum
end
def roles
ROLES.reject do |r|
((roles_mask || 0) & 2**ROLES.index(r)).zero?
end
end
def is?(role)
roles.include?(role.to_s)
end
而且我已经在用户模式# roles_mask :integer
。
但是,我想有一个after_save :add_normal_role
它将正常角色分配给用户。
基本上,我无法(不知道)如何为每个用户分配角色。
这是我,这不工作:
private
def add_normal_role
self.roles=(ROLES[1])
end
感谢
有了这段代码,我有这个错误:未定义的方法'&'为“正常”:字符串 – donald 2011-01-07 15:08:29