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