我正在使用 gems 权限和 rolify 来管理一组主题的用户权限。:admin
仅当用户具有该主题的角色时,用户才能看到每个主题。视图中的代码:
<% if (current_user.has_role? :admin, @subject) %>
ADMIN
<% end %>
<% if @subject.readable_by?(current_user)%>
#some other code
<% end %>
授权人中的代码:
class SubjectAuthorizer < ApplicationAuthorizer
# can the user view the subject?
def self.readable_by?(user)
user.has_role? :admin, @subject
end
end
我的问题是显示了 ADMIN 部分,而不是页面的其余部分。但是,这两个 if 条件应该具有相同的真值。任何人都可以发现错误吗?