承認にCanCanを使用し、認証にDeviseを使用します。私には3つの役割があります。管理者ロールはすべてのアクションにアクセスできます。ただし、管理者としてログインしている場合でも、アクセスが拒否されます。私は何が間違っているのですか?また、私は実装のためにこのウィキをフォローしています
これは私のコントローラーコードです
class LocationController < ApplicationController
#before_filter :authenticate, :only => [:title_clearing]
before_filter :authenticate_user!
load_and_authorize_resource
def show
@data = []
if params[:Date].match(/^(19|20)\d\d[- \/.](0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])$/).nil? == true
@message = "Wrong Date Format"
else
@data = Location.show(params[:Date])
if @data.size == 0
@message = "No data exists for "+ params[:Date]
else
@message = "Data loaded successfully for "+ params[:Date]
end
end
if params[:Date] == "all"
@message = "All records loaded"
@data = Location.show("all")
end
end
end
ability.rbで
if user.is? :admin
can :all, :location
end
if user.is? :titleclearing
can :title_clearing, :location
end
if user.is? :acquisitions
cannot :title_clearing, :location
end
ユーザーモデルでは
def role?(role)
roles.include? role.to_s
end