Rails权限明显不一致

时间:2014-11-27 21:10:38

标签: ruby-on-rails rolify authority-gem

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

1 个答案:

答案 0 :(得分:2)

授权人无法使用

@subject。您需要改为使用resource