Railsは初めてで、認証にdeviseを使用しています。
/users/5/events/1/add_images
current_userがアクセスできるのは。の場合にのみアクセスできるルートがあります@user == current_user
。この権限を設定するための最良の方法は何ですか?これはコントローラーレベルで実行する必要がありますか?
どんな助けでもいただければ幸いです!ありがとう!
Railsは初めてで、認証にdeviseを使用しています。
/users/5/events/1/add_images
current_userがアクセスできるのは。の場合にのみアクセスできるルートがあります@user == current_user
。この権限を設定するための最良の方法は何ですか?これはコントローラーレベルで実行する必要がありますか?
どんな助けでもいただければ幸いです!ありがとう!
はい、コントローラーレベルで実行する必要があります。
cancan
承認の処理にgemを使用できます。
https://github.com/ryanb/cancan
http://railscasts.com/episodes/192-authorization-with-cancan
大まかに言って、能力を定義する必要があります。
can :add_images, Event do |event|
event.user.id == user.id
end
events_controllerで、before_filterを追加します
before_filter :find_event # set @event
before_filter :authorize_add_images, only: :add_images
def authorize_add_images
authorize! :add_images, @event
end
これが一般的な考え方です。残りのドキュメントを読んでください。