Deviseログイン画面のlayoutを変更する
方法①
application_controller.rbでlayoutを切り替える方法。
devise以外のcontrollerでもつねに判断が入るので、なんとなくスッキリしないような。
class ApplicationController < ActionController::Base layout :layout_by_resource protected def layout_by_resource if devise_controller? "layout_name_for_devise" else "application" end end end
方法②
sessions_controller.rbをオーバーライドして、layoutを指定する方法。
- deviseのオーバーライド用のcontrollerを作成します。
$ bundle exec rails g devise:controllers users
- /app/controllers/users/sessions_controller.rbでlayoutを指定します。
class Users::SessionsController < Devise::SessionsController layout 'devise' ... end
参考
How To: Create custom layouts · plataformatec/devise Wiki · GitHub