#deviseを適用しているページは、application.html.erbを適用しない方法を知りたい
deviseに関する記述で、ヘッダーに現在設定している”新規登録”や、”ログイン”の記述などは不要なので、その記述をdeviseでは適用しないようにしたいのですが、
検索をした方法では、適用できませんでしたので、誰か解決策をご存知の方ございましたらお願いいたします。
以下に試した方法を記述します。
#試したこと
config.application.rb
config.application.rb
1 2config.to_prepare do 3 Devise::SessionsController.layout proc{ |controller| user_signed_in? ? "application" : "devise" } 4 Devise::RegistrationsController.layout proc{ |controller| user_signed_in? ? "application" : "devise" } 5 Devise::ConfirmationsController.layout "devise" 6 Devise::UnlocksController.layout "devise" 7 Devise::PasswordsController.layout "devise" 8 end 9
の記述を追加。エラーも起きないが変わらず。
application.html.erbに以下の記述を行った。
class ApplicationController < ActionController::Base layout :layout_by_resource private def layout_by_resource if devise_controller? "devise" else "application" end end end
devise.html.erbのビューファイルも設置したが、そのビューファイルしか表示されず、
新規登録の画面や、サインイン画面が消失した。
deviseのコントローラーが操作できないので、どう編集して良いのか分からない。
大変お手数ですが誰かこの問題を解決できる方ございましたら、ご回答よろしくお願いいたします。
あなたの回答
tips
プレビュー