我在Rails應用程序中使用CanCan支持Rails Admin。儘管我對一個問題感到困惑。 CanCan如何知道用戶登錄的是什麼?例如,我的用戶可以有不同的角色,通過CanCan,我可以爲每個表的某些訪問分配角色。當我去localhost:3000/admin
,我收到錯誤瞭解CanCan能力和用戶
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管理的能力嗎?我必須手動創建它嗎?
啊。我認爲這可能是它,但無法在文檔中驗證。謝謝。 – jason328
沒問題,@ jason328!很高興我能幫上忙! –