2010-06-16 91 views
2

我有一個div多次循環的視圖。每個創建的div都需要有一個唯一的ID,所以我可以專門訪問它們(目前,我所有的div都具有相同的html中指定的ID,所以無論何時只要我嘗試訪問特定的div,它都會找到第一個)。Rails:如何在循環中命名和創建獨特的div?

這是我目前擁有的版本(多個'rowBox'es不可辨別)。

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

我希望能夠做這樣的事情:

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

這似乎並沒有工作。任何想法如何實現這一目標?

回答

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> 

...... 
+0

。你也可以使用'each_with_index do | c,i |'這會給你一個循環計數器。 – jonnii 2010-06-16 20:45:49

+0

@jonnii - 如何在代碼中工作? – sscirrus 2010-06-18 23:27:11

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

對不起,提前遺漏。這應該工作。