2013-02-19 36 views
0

我的循環:Rails如何在其他循環內訪問attr_name?列方法

<% @products.first.attributes.except('name', 'created_at','updated_at','id').each do |attr_name, attr_value| %> 
<tr> 
    <td><span><%= t(attr_name) %></span></td> 
    <td class="middle">Pr. x</td> 
    <%= @products.each do |f| %> 
    <td class="last"><%= f.attr_name %> ,-</td> 
    <% end %> 
<tr> 
<% end %> 

然後我得到這個錯誤:undefined method attr_name for #<Product:0x3adc850

如何使用與attr_name列的方法?我嘗試了f."#{attr_name}"之類的東西,但沒有運氣。

回答

1

使用send

<%= @products.each do |f| %> 
    <td class="last"><%= f.send attr_name %> ,-</td> 
<% end %> 

你應該改名fproductf通常用於形式建設者)