Ruby on rails 我可以在Rails 5的视图中定义要使用的布局吗

Ruby on rails 我可以在Rails 5的视图中定义要使用的布局吗,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我的视图都使用布局views/layouts/application.html.erb 对于我的一些视图,我想使用不同的布局views/layouts/page.html.erb 我知道在控制器中我可以定义布局:,但我的问题是我是否也可以在视图本身中定义布局 我还能在哪里设置布局 背景是我正在使用Desive,我想为登录页面定义一个不同的布局。默认情况下,“设计”不允许我访问其控制器。我可以生成控制器,但这样做会带来其他问题。因此,我的第一次尝试是在没有控制器的情况下设置布局。虽然您可以从视图中

我的视图都使用布局
views/layouts/application.html.erb

对于我的一些视图,我想使用不同的布局
views/layouts/page.html.erb

我知道在控制器中我可以定义
布局:
,但我的问题是我是否也可以在视图本身中定义布局

我还能在哪里设置布局


背景是我正在使用Desive,我想为登录页面定义一个不同的布局。默认情况下,“设计”不允许我访问其控制器。我可以生成控制器,但这样做会带来其他问题。因此,我的第一次尝试是在没有控制器的情况下设置布局。

虽然您可以从视图中进行设置,但解决此问题的更简洁的方法是将Deviate控制器子类化:

# app/controllers/sessions_controller.rb
class SessionsController < Devise::SessionsController
  layout 'page'
end
# config/routes.rb
devise_for :users, controllers: { sessions: "sessions" }