CanCanCan仅在具有属性时才能查看

时间:2019-03-07 20:33:00

标签: ruby-on-rails cancancan

我正在使用CanCanCan管理我的授权页面。

这是设置“我的能力”页面的方式:

class Ability
 include CanCan::Ability
 def initialize(user)

#return if user.nil?
if user.nil? 
  can :read, User
  can :read, Talent, {is_major: false}
else

用户has_one天赋。人才有一种称为is_major的方法。此方法检查人才是否已超过18岁。

我希望未登录应用程序的用户只能读取该人才为“ _major”的人才。

如何在CanCanCan上进行设置?

1 个答案:

答案 0 :(得分:0)

这里的问题只是一种罪过:

如果我添加:

if user.nil? 
  can :read, User
  can :read, Talent, is_major?: true
else

有效。