1

Rails 4 プロジェクトで初めて Devise を使用しており、モデルの所有権を特定のユーザーに限定する方法を見つけようとしています。

たとえば、ユーザーがモデルを作成した場合、そのユーザーのみがモデルに対して次の操作を実行できる必要があります。

  • ユーザーに属するすべてのモデルを一覧表示する
  • 見る
  • 編集
  • アップデート
  • 消去

したがって、基本的にすべてのcrudアクションは、モデルを所有するユーザーに制限する必要があります.

DRY 慣用的な方法で所有権を実装するにはどうすればよいでしょうか? ユーザーが現在のオブジェクトを所有しているかどうかを確認するためにコントローラーをチェックできるようですが、オブジェクトが別のコントローラーによって使用されているか、ネストされた更新の一部として使用されている場合は、ロジックを再実装する必要がありますが、そうではありません。モデルが現在のユーザーにアクセスできるのは適切ではないようです。

4

1 に答える 1

3

gem cancanをチェックアウトすると、ユーザーにアクセス許可が割り当てられるため、ユーザーが所有者の役割を持っている場合、すべての CRUD アクションのアクセス許可が付与されます

RailsApp には、Rails 3.2 ではあるものの、https://github.com/RailsApps/rails3-bootstrap-devise-cancanという例があり、deviseと cancan を使用しています

お役に立てれば

于 2013-10-29T17:42:32.213 に答える