現在作成中のポートフォリオでは、ユーザー機能にdeviseを利用しています。
今回はユーザー情報変更後、指定のページに戻る方法を学びましたのメモしておきます。
registrations_controllerの設定
registrations_controller.rbで以下の部分のコメントアウトを外してください。
registrations_controller.rb
def after_update_up_path_for(resource)
# ここにページ遷移したいパスをいれる
home_show_path(resource)
end
私の場合はhome/showページに飛ばしたかったのでhome_show_pathと記入しています。
routesの設定
次はルートです。
以下のように記述してください。
routes.rb
as :user do
get 'home/show',:to =>'devise/registrations#edit',:as => :user_root
end
asメソッドを使うと、どのリソースがルートかを伝えてくれるため、指定ページに簡単にリダイレクトしてくれます。
まとめ
今回のパターンを含め、他パターンは公式で紹介されているのでそちらもぜひ参考にしてください。
【How To: Customize the redirect after a user edits their profile】
deviseは便利ですが結構複雑な印象があるので、色々試してなれていきたいです。
この記事が誰かの助けになれば幸いです。
ではでは。