只是搞乱了rails布局。完成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的特征吗?
答案 0 :(得分:2)
你可能会继续阅读。可以使用多种布局方式。如果要为给定操作调用特定布局,则应在控制器中执行此操作,而不是在视图中执行。如果你需要在一个视图中调用,给一个局部的布局,那么语法是不同的,你首先调用partial,然后调用布局。
<%= render "comments", layout: "two_column_landing" %>
如果您只是希望在特定控制器中呈现2列视图,则在任何方法定义调用之前在控制器顶部,在类名称下
layout "two_column_landing"
如果您只想为控制器中的特定操作调用此布局,可以在方法渲染中执行此操作
def index
@people = Person.all
render layout: "multi-column"
end
答案 1 :(得分:0)
我使用了这个并且适用于rails 4
def index
@people = Person.all
render :layout => "my-layout-name"
end