我正在尝试使用Forem gem,该gem同时利用了CanCan授权框架和我的主应用程序。主应用程序和Rails引擎都有自己的ability.rb文件。
问题出现在布局中,在那里我尝试进行一些授权检查:
问题出现在布局中,在那里我尝试进行一些授权检查:
<% if can? :update, User %>
<%= link_to_current_user :content_method => :login %>.
<% else %>
当我在引擎上使用布局文件时,它会咨询自己的ability.rb文件以获取授权。显然,我的主应用程序没有规则,因此当不应该进行授权时,授权失败。有什么办法让它强制转到“主”CanCan吗?
谢谢。
can? :update, User
吗?也许应该是can? :update, current_user
?我怀疑你的和引擎的 ability.rb 实际上并没有混乱。 - jibiel