Rails如何访问其他循环中的attr_name?列方法

时间:2013-02-19 18:48:12

标签: ruby ruby-on-rails-3 ruby-on-rails-3.2

我的循环:

<% @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中使用column方法?我没试过像f."#{attr_name}"这样的事情。

1 个答案:

答案 0 :(得分:1)

使用send

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

您应该将f重命名为productf通常用于表单构建器)