我想做以下几件事
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?不出所料,返回false。为什么在角色被移除后,它仍然返回TRUE?
发布于 2015-03-12 22:00:35
在再次检查用户是否具有角色之前,您需要重新加载该用户
User1.remove_role :teacher
User1.has_role? :teacher
-> true
User1.reload
User1.has_role? :teacher
-> falsehttps://stackoverflow.com/questions/26301714
复制相似问题