Rails 4如何在视图中使用渲染布局选项?

只是乱搞铁路布局。 完成指南 2.2.11.2:布局选项

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

然后修改我的视图以呈现布局:

Ca#tcl

Find me in app/views/ca/tcl.html.erb

我收到这个错误:

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

我知道在生产代码中做这个习惯可能不是一件好事,但我只想弄清楚如何做我想做的事。 任何想法为什么这不起作用? 它不是导轨4的特征吗?

你可能会继续阅读。 布局可以使用很多种方法。 如果要为给定操作调用特定布局,则应在控制器中执行此操作,而不是在视图中执行。 如果需要在视图中调用,为部分提供布局,则语法不同,首先调用partial,然后调用布局。

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

如果您只是希望在特定控制器中呈现2列视图,那么在任何方法定义调用之前,在控制器顶部,在类名称下

 layout "two_column_landing" 

如果只想在控制器中为特定操作调用此布局,则可以在方法渲染中执行此操作

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

我用这个并且适用于rails 4

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