0

私は Ryan B のチュートリアルに従っていますが、ユーザーの役割を調べようとしたときに何か問題がありました。

調べたときに初期化パラメータが nil になったのはなぜですか。初期化パラメーターと Person オブジェクトの間に何らかの関係はありますか?ライアンのチュートリアルでは、初期化メソッドとユーザー モデルで「ユーザー」パラメーターを使用しています。ここで基本的なことを忘れていますか?これらは私のコードです、ありがとう!

class Ability 
  include CanCan::Ability

  def initialize(person)
    raise person.inspect
    can :read, :all
  end
end
4

1 に答える 1

0

このコードを実行しているときは、ログインしているユーザーがいない可能性があります。ログインしていないユーザーに対して権限を確認するには、ある種のゲストユーザーを作成する必要があります

  def initialize(person)
    user ||= User.new
    if user.role? :somerole
      can :read, :all
    else
     #whatever guest can do
    end
  end
于 2010-12-03T10:54:27.397 に答える