如何从特定的Ruby on Rails页面中删除应用程序布局?

The*_*elf 12 layout rendering web-applications ruby-on-rails

如何从特定页面上的渲染中删除布局application.html.erb.它现在在我的应用程序的所有页面上都可见.

ipd*_*ipd 20

您可以在控制器级别覆盖默认渲染.

class Admin::HomeController < Admin::BaseController
  layout "admin"
Run Code Online (Sandbox Code Playgroud)

您还可以在控制器操作级别覆盖布局的渲染:

def show
  render :layout => "layout_for_show_only"
end
Run Code Online (Sandbox Code Playgroud)

而且,如果您真的很绝望,可以在视图中覆盖布局:

<%= render "print_view", :layout => "print" %>
Run Code Online (Sandbox Code Playgroud)

请参阅有关主题的优秀导轨指南:Rails中的布局和渲染

伊恩.


Ser*_*ell 6

您只需添加到控制器:

layout false, only: [:show, :edit]
Run Code Online (Sandbox Code Playgroud)

这意味着,不会为展示和编辑页面呈现该应用程序布局