2013-10-09 41 views
3

只是搞乱轨道布局。阅读guide 2.2.11.2:布局选项Rails 4如何在视图中使用渲染布局选项?

创建一个名为two_column_landing的简单布局,并将其放置在app/views下的layouts目录中。

然后修改了我的观点来呈现的布局:

<h1>Ca#tcl</h1> 
    <p>Find me in app/views/ca/tcl.html.erb</p> 

    <%= render layout: "two_column_landing" %> 

我得到这个错误:

You invoked render but did not give any of :partial, :template, :inline, :file or :text option. 

我知道这可能不是一个伟大的事情做在一个习惯生产代码,但我只是想出如何做我想要的。任何想法为什么这不起作用?这不是导轨4的特点吗?

+0

是否在app/views/layouts /文件夹中放置了'two_column_landing.html.erb'文件? – jimagic

回答

2

您可能会继续阅读。有许多方法可以使用布局。如果您想针对特定操作调用特定布局,则应该在控制器中执行此操作,而不是在您的视图中执行此操作。如果您需要在视图中调用,为部分提供布局,则语法不同,请先调用部分,然后再调用布局。

<%= render "comments", layout: "two_column_landing" %> 

如果你只是想你2列视图在一个特定的控制器来渲染,然后在控制器的定义调用任何方法之前的顶部,在类名

layout "two_column_landing" 

如果你想只称这种布局中,你可以做到这一点的方法控制特定的动作呈现

def index 
    @people = Person.all 
    render layout: "multi-column" 
    end 
0

我用这个和轨道工作以及4

def index 
    @people = Person.all 
    render :layout => "my-layout-name" 
end