簡體   English   中英

Cann中的Nil可以初始化capability.rb模型中的參數

[英]Nil in CanCan initialize parameter in ability.rb model

我正在遵循Ryan B的教程,但是嘗試檢查用戶角色時出現了問題。

為什么在檢查時得到nil初始化參數。 在Ryan的教程中,initialize參數與Person對象之間是否存在任何聯系,在initialize方法和User Model上使用了“ user”參數。 我在這里忘記了一些基本的東西嗎? 這些是我的代碼,謝謝!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM