CanCanCan对应用程序有两个假设:
1 *定义权限的Ability类。
2 *控制器中的current_user方法,它返回当前用户模型。
就我而言,我有两个模型对象和主题(我可以创建,更新,销毁),它们都使用CRUD操作。
现在,我想使用CanCanCan库授权来限制对此对象的访问。我知道CanCanCan希望current_user方法存在于控制器中并设置一些身份验证(例如Devise)。我该如何覆盖期望有current_user的默认方法,并将其传递给current_subject,因为该方法应该可以访问对象。
仅将控制器中的current_user帮助器方法别名为您正在使用的实际帮助器方法:
class ApplicationController < ActionController::Base
alias_method :current_user, :current_subject # or whatever your helper method is called - this is untested btw
end
# Source: https://github.com/CanCanCommunity/cancancan/wiki/changing-defaults