0

(私の英語でごめんなさい;)

私は rbates から CanCan を使い始めました。これは素晴らしい逸品ですが、いくつか問題があります。Scrap モデルがあり、ブール値フィールド :published があります (つまり、公開済み/未公開 (ドラフト) を意味します)。

私は自分の能力.rbにこのルールを持っています:

can :create, [Scrap]
can [:update, :destroy], [Scrap] do |object|
  object.try(:user) == user
end

したがって、このオブジェクトは作成者以外によって編集/更新/削除できません。「表示」アクションで同じことをしたいです (作成者以外は下書きを読むことができませんか? ;) これを行う本当の方法は何ですか?

ありがとうございます!アンドレイ・オグネフスキー

4

1 に答える 1

2
can :show, Scrap do |scrap|
  scrap.published || scrap.user == user
end
于 2010-07-06T18:39:10.953 に答える