Rails:如何在循环中命名和创建唯一的div?

时间:2010-06-16 20:20:07

标签: ruby-on-rails html loops

我有一个带有多次循环的div的视图。每个创建的div都需要有一个唯一的ID,所以我可以专门访问它们(目前,我所有的div都有相同的ID在html中指定,所以每当我尝试访问一个特定的div时,它就会找到第一个)。 / p>

这是我目前拥有的版本(多个'rowBox'不可辨别)。

<% @customers.each do |customer| %>
  <div id="customer" class="rowBox">
  ...
  </div>
<% end %>

我希望能够做到这样的事情:

<% @customers.each do |customer| %>
  <div id="box<%=customer.id%>">
  ...
  </div>
<% end %>

这似乎不起作用。关于如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:4)

Rails确实有some handy helpers

<% @customers.each do |customer| %>
  <%= div_for customer, :class => "rowBox" do %>
    ...
    ...
  <% end %>
<% end %>

这将产生例如:

<div id="customer_1" class="customer rowBox">
  ...
</div>

<div id="customer_2" class="customer rowBox">
  ...
</div>

......

答案 1 :(得分:1)

<% @customers.each do |customer| %>
  <div id=<%= "box#{customer.id}" -%>>
  ...
  </div>
<% end %>

很抱歉早些时候遗漏了。这应该有用。