0

ユーザーがグループに含まれていることを確認したい。これを実行しようとして、次のステートメントがあります。

user_id = current_user.id
unless (group.user.find(user_id))
  redirect_to different_path
end

ドキュメントを見ると、「検索がIDで呼び出された場合、要求されたオブジェクトの検索に失敗すると、ResourceNotFound例外が発生します。」正しく動作するように、unless ステートメントを記述するにはどうすればよいですか?

4

2 に答える 2

2

グループとユーザーの間の関係を定義した場合、current_user.group.present?これを呼び出すことができます。関連するオブジェクトがない場合、これは false を返します。

于 2012-05-07T23:29:34.177 に答える
1

例外処理の一部としてリダイレクトを処理できます

redirect_to path if group.user.find(user_id)

rescue ResourceNotFound
  redirect_to differenct_path
end

あるいは、おそらくより良い方法は、ロジックを構築することです

user.groups.include?(group)
于 2012-05-07T23:29:47.297 に答える