コントローラをサブクラス化し、それを使用するようにルーターを構成できます。
class SessionsController < Devise::SessionsController
layout false
end
config/routes.rb
:
devise_for :users, :controllers => { :sessions => "sessions" }
セッションビューもこのコントローラーに移動する必要があります。
[〜#〜] or [〜#〜]メソッドをapp/controllers/application_controller.rb
:
class ApplicationController < ActionController::Base
layout :layout
private
def layout
# only turn it off for login pages:
is_a?(Devise::SessionsController) ? false : "application"
# or turn layout off for every devise controller:
devise_controller? && "application"
end
end
App/views/layouts/deviseにsessions.html.erbファイルを作成することもできます。そのレイアウトは、サインイン画面だけに使用されます。
Devise_controllerを使用して? Deviseコントローラーがアクティブであるかどうかを判断し、それに応じて応答できるヘルパー。 Deviseでアプリケーションの他の部分とは別のレイアウトを使用するには、次のようにします。
class ApplicationController < ActionController::Base
layout :layout_by_resource
protected
def layout_by_resource
if devise_controller?
"devise"
else
"application"
end
end
end
ビュー/レイアウトでdevise.html.erbファイルを作成します
そのため、デバイスコントローラーがデバイスレイアウトをレンダリングする場合、またはアプリケーションレイアウトをレンダリングする場合
from: https://github.com/plataformatec/devise/wiki/How-To:-Create-custom-layouts