我正在使用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条件应该具有相同的真值。有人能发现错误吗?
答案 0 :(得分:2)
@subject
。您需要改为使用resource
。