2012-04-25 3 views
0

私は以下のモデルを持つアプリケーションを持っている:人、プロジェクト、プロジェクト管理者。Rails - 人々がレコード間の関連付けを追加できるようにするが、管理者のみがレコードを削除できるようにする

人とプロジェクトの間にHABTMの関連付けがあります。各プロジェクトにはProjectAdminsListが1つあり、それぞれに多くの人がいます。各プロジェクトに属する

人々はそれに他の人を追加することができますが、私はProjectAdminsListに属するものにこの関連付けの削除を制限したいです。これをビューで制限することは簡単ですが、コントローラでそれを行うにはどうすればよいでしょうか?私はこれに関する一般的なガイダンスを探しています。

答えて

0

Ryan Bates(RailsCastの男)が書いたCanCanの宝石を見てみることをお勧めします。Authorization with CanCan RailsCastで見てから、本当に良いドキュメントを見てください。ここで

概要:

  • は、それはちょうどあなたが1つのファイルに許可規則( ability.rb
  • あなたが使用を書く現在ログインしているユーザーに
  • を決定するためにcurrent_user方法を必要としますユーザーが何か
  • にいくつかの操作を行うことができます場合は、カンカンに自動的トンをチェックするためにcontrolleでload_and_authorize_resourceを呼び出すチェックするビュー層でcan?方法ability.rbファイルに基づく承認。

もちろん、ドキュメントは本当に良いと言われているように、私は表面を傷つけました。

+1

基本的なアクセス許可のチェックを実装しましたが、CanCanは本当にうまく見えます。試してみる。 – ntlk

関連する問題