0

Railsは初めてで、認証にdeviseを使用しています。

/users/5/events/1/add_imagescurrent_userがアクセスできるのは。の場合にのみアクセスできるルートがあります@user == current_user。この権限を設定するための最良の方法は何ですか?これはコントローラーレベルで実行する必要がありますか?

どんな助けでもいただければ幸いです!ありがとう!

4

1 に答える 1

3

はい、コントローラーレベルで実行する必要があります。

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

これが一般的な考え方です。残りのドキュメントを読んでください。

于 2013-01-13T21:38:39.440 に答える