0

我正在使用 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 条件应该具有相同的真值。任何人都可以发现错误吗?

4

1 回答 1

2

@subject is not available in the Authorizer. You need to use resource instead.

于 2014-11-27T21:16:02.073 回答