使用ERB变量使HTML枯竭



我想用以下内容干燥我的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元素应在视图或助手中。

最新更新