gems オーソリティと roify を使用して、一連のサブジェクトに対するユーザー権限を管理しています。各サブジェクトは、ユーザーが: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 部分は表示されますが、ページの残りの部分は表示されないことです。ただし、2 つの if 条件の真偽値は同じでなければなりません。誰でも間違いを見つけることができますか?