0

ruby 2.0.0p247 と rails 4 を使用しています。(show) のような他のユーザーのメソッドを呼び出す前に、ユーザーが同じグループに属しているかどうかを確認するために、アプリのユーザー コントローラーに before_filter を追加する必要があります。アプリで gem を使用したくありません。どんな助けでも大歓迎です..ありがとう

4

1 に答える 1

1
before_filter :check_for_group, only: [:show] #or add the actions you want here

次に、2 人のユーザーが同じグループに属しているかどうかを確認するプライベート メソッドを作成します。

def check_for_group
  user_getting_shown = User.find(params[:id])
  user_getting_shown.gorups.in?(current_user.groups) # => assuming you have a current_user method that retrives the user session.
end

ただし、アプリで before_filters を使用する代わりに多くの承認が必要な場合は、アプリケーション コントローラーで authorize と呼ばれる 1 つだけを作成し、すべての承認ロジックを制御できる別のアクセス許可クラスを作成できます。テストがはるかに簡単です.Ryanベイツには、このテーマに関する素晴らしいスクリーンキャストが 2 つあります。ぜひチェックしてください。

http://railscasts.com/episodes/385-authorization-from-scratch-part-1

http://railscasts.com/episodes/385-authorization-from-scratch-part-1

于 2013-10-28T13:11:55.263 に答える