2011-06-06 63 views

回答

18

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

class Admin::HomeController < Admin::BaseController 
    layout "admin" 

您也可以在一个控制器动作级别覆盖布局的渲染:

def show 
    render :layout => "layout_for_show_only" 
end 

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

<%= render "print_view", :layout => "print" %> 

看到关于这个问题的优秀导轨指南:layouts and rendering in Rails

ian 。

+1

的感谢!我在控制器中执行了这个操作。 def show render:layout => false end – Themasterhimself 2011-06-06 07:53:32

+0

@ Themasterhimself-如果您想从控制器的所有页面中删除它,您可以在控制器的顶部执行'layout nil'控制器。 – rubyprince 2011-06-06 08:36:01

+0

非常感谢您的帮助:D – 2016-08-17 17:58:58

5

您可以简单地添加到控制器:

layout false, only: [:show, :edit] 

这意味着,该应用程序的布局将不会被渲染为展示和编辑页面

相关问题