我在 Ruby on rails 上遇到了关于cancancan gem 和继承表的问题。我的帐户模型有多个继承模型Teacher < Account
,Director < Account
它们具有不同的能力。
这是我的规则:“inability.rb”
if account.director?
can :manage, Account, profile: [ :teacher, :director ]
end
if account.teacher?
can :manage, Account, profile: [ :teacher ]
end
我的路线文件如下所示:
resources :directors, controller: :accounts, profile: :director
resources :teachers, controller: :accounts, profile: :teacher
当我以教师身份登录并转到 /directors(索引页面)时,Cancan 应该引发 Unauthorized::AccessDenied 消息,而不是显示导演页面。
我可能错过了文档中的某些内容。有人可以启发我吗?
谢谢