我想用以下内容干燥我的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>
我想做这样的事情,不必重复自己,但这是错误的。我必须使用循环吗?
</div>
<% item = ' <section class="item">
+
<%= render partial: "layouts/list-item" %>
</section>'
%>
<%= item * 3 %>
</div>
您可以使用:
<div>
< ["", "+", "+"].each do |item| >
<section class="item">
<%= item >
<%= render partial: "layouts/list-item" %>
</section>
< end >
</div>
对于任何更复杂的事物,您可以在控制器中定义实例变量,并在视图中使用基本逻辑(作为示例中的循环)显示来自这些变量的数据。
数据应来自通过控制器的模型,HTML元素应在视图或助手中。