[英]CanCanCan view only if has attribute
我使用 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
一個用戶擁有一個天賦。 一個 Talent 有一個方法叫做:is_major。 此方法檢查人才是否超過 18 歲。
我希望,未登錄應用程序的用戶只能在此人才是_專業的情況下閱讀人才。
如何在 CanCanCan 上設置它?
這里的問題只是一個sintax:
如果我添加:
if user.nil?
can :read, User
can :read, Talent, is_major?: true
else
有用。
從is_major?
開始,您需要使用塊語法定義能力? 是一種模型方法。
can :read, Talent do |talent|
talent.is_major?
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.