我想用以下内容干掉我的ERB:
<div>
<section class="item">
+
<%= render partial: "layouts/list-item" %>
</section>
<section class="item">
+
<%= render partial: "layouts/list-item" %>
</section>
<section class="item">
+
<%= render partial: "layouts/list-item" %>
</section>
</div>
我想做这样的事情,不必重复自己,但这是一个错误。我是否必须使用for循环?
</div>
<% item = ' <section class="item">
+
<%= render partial: "layouts/list-item" %>
</section>'
%>
<%= item * 3 %>
</div>
答案 0 :(得分:2)
您可以使用:
<div>
< ["", "+", "+"].each do |item| >
<section class="item">
<%= item >
<%= render partial: "layouts/list-item" %>
</section>
< end >
</div>
对于任何更复杂的事情,您可以在控制器中定义实例变量,并在视图中使用基本逻辑(如本例中的循环)来显示这些变量中的数据。
数据应该来自模型,通过控制器,html元素应该在视图或帮助器中。