ruby-on-rails – Rails 4如何在视图中使用渲染布局选项?

只是乱搞铁路布局.经历
guide

2.2.11.2:布局选项

创建了一个名为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的特征吗?

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

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

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

layout "two_column_landing"

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

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