2

ユーザー認証用のDevise gemがあります。基本的には、Devise gem の registrations_controller.rb をローカルでオーバーライドしたいと考えています。gem のコード:

class Devise::RegistrationsController < DeviseController
   ...
    def update
        ...(need to override)
    end
end

edit_formの特定の属性が選択されている場合、ユーザーを他のページにリダイレクトしたい。

4

1 に答える 1

2

そのメソッドをオーバーライドしないことをお勧めします。代わりに、プロファイル編集後のカスタム リダイレクトに関するWiki ページをご覧ください。このメソッドをオーバーライドする方法について説明します。

def after_update_path_for(resource)
  user_path(resource)
end

属性に基づいて異なるパスを返すことができます。たとえば、

def after_update_path_for(resource)
  resource.foo? ? foo_path : bar_path
end
于 2012-11-24T23:27:53.180 に答える