如何重写CanCanCan中的默认方法

CanCanCan对应用程序有两个假设:

1 *一个定义权限的能力类。

2 *控制器中的current_user方法,该方法返回当前用户模型。

就我而言,我有两个模型对象和主题(可以创建,更新,销毁),它们都使用CRUD操作。

现在,我想使用CanCanCan库授权来限制对此对象的访问。我知道CanCanCan希望current_user方法存在于控制器中并设置一些身份验证(例如Devise)。我该如何覆盖期望有current_user的默认方法,并将其传递给current_subject,因为该方法可以访问对象。

shixi815236537 回答:如何重写CanCanCan中的默认方法

对新的辅助方法使用别名:

将控制器中的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
本文链接:https://www.f2er.com/3131482.html

大家都在问