2014-10-10 38 views
0

后返回true,我想做到以下几点Rolify has_role? remove_role

User1 = User.find(1) 
User2 = User.find(2) 

角色添加到用户

User1.add_role :teacher 
User2.add_role :teacher 

User1.has_role? :teacher 
>> true 

User2.has_role? :teacher 
>> true 

User1.remove_role :teacher 

User1.has_role? :teacher 
>> false 

User2.has_role? :teacher 
>> true 

我有一个特定的用户删除角色问题,因为目前

User1.has_role? :teacher 

即使在删除后也返回TRUE。但是,当我做User1.roles它会返回一个空数组和预期has_any_roles?按预期返回错误。为什么即使在角色被删除后它也会返回TRUE?

回答

1

你需要检查,如果再次有一定的作用

User1.remove_role :teacher 
    User1.has_role? :teacher 
    -> true 
    User1.reload 

    User1.has_role? :teacher 
    -> false 
之前重新加载用户
相关问题