在Cancan初始化参数中的零。RB模型中的参数初始化参数
-
30-09-2019 - |
题
我正在关注Ryan B的教程,但是在尝试检查用户角色时,我发现了问题。
当我检查它时,为什么我会得到零初始化参数。初始化参数与人对象之间是否有任何连接,在瑞安的教程中,在初始化方法和用户模型上使用“用户”参数。我在这里忘记了基本的东西吗?这些是我的代码,谢谢!
class Ability
include CanCan::Ability
def initialize(person)
raise person.inspect
can :read, :all
end
end
解决方案
运行此代码时,很可能没有登录用户。您需要创建某种客人用户来检查未登录用户的权限
def initialize(person)
user ||= User.new
if user.role? :somerole
can :read, :all
else
#whatever guest can do
end
end
不隶属于 StackOverflow