RailsアプリでCancanを使用して認証を行おうとしていますが、問題が発生しています。ユーザーテーブルにadminとownerという名前の2つの列があり、どちらもブール値です。私のability.rbファイルは、これが真であるかどうかをチェックしてから、適切な権限を提供します。サインインしていないユーザーと管理者であるユーザーの権限が機能しているようです。ただし、所有者の許可は機能していないようです。この権限を利用しているリンクを自分のビューで表示できません。
PlacesControllerの上部にload_authorize_resourceを配置しました。
def initialize(user)
user ||= User.new # Guest user
if user.admin?
can :manage, :all
else
can :read, :all
if user.owner?
can :create, Place
end
end
# can :read, :all
end
私はこれを管理者として見ることはできますが、所有者として見ることはできません...しかし、私は所有者として見ることができるはずです。
<% if can? :create, @place %>
<%= link_to 'New place', new_place_path %>
<% end %>