Rails アプリで CanCan をサポートする Rails Admin を使用しています。しかし、私は1つの問題で混乱しています。CanCan はどのユーザーがサインインしているかをどのように認識しますか? たとえば、私のユーザーはさまざまな役割を持つことができ、CanCan を介して各テーブルへの特定のアクセスに役割を割り当てます。にアクセスするとlocalhost:3000/admin
、エラーが表示されます
CanCan::AccessDenied in RailsAdmin::MainController#dashboard
私のAbility.rb
ファイル
def initialize(user)
if user and user.role.eql? :super_admin
can :manage, :all # allow superadmins to do anything
elsif user and user.role.eql? :admin
can :manage, [Location, School] # allow admins to manage only Locations and Schools
end
end
では、ユーザーが Rails Admin にサインインできるようにするにはどうすればよいでしょうか? 手動で作成する必要がありますか?