1

英語で申し訳ありません... cancan gemを使用していますが、このようなことをすると新しいアクションで問題が発生します...

class Ability
  include CanCan::Ability
  def initialize(user)
    can :manage, Post, :id => 1
  end
end

新しいアクションコントローラーにはIDがありません。そのため、新しい投稿を作成する権限がありません:(

手助け?よろしく。

4

1 に答える 1

0

新しいアクション ... ID がありません ... 新しい投稿を作成する権限がありません

load_resourceコントローラーで 使用していますか?は、能力定義の条件load_resourceを適用します。コントローラ アクションの承認を参照してください。

また、能力の定義がおかしい。次のような言い方が一般的です: ユーザーは自分の投稿を管理でき、誰もが読むことができます。

def initialize(user)
  can :read, Post
  can :manage, Post, :user_id => user.id
end
于 2013-06-02T18:46:19.060 に答える