2014-10-10 24 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 
之前重新加載用戶