0

我有一个我正在尝试构建的表单来编辑多个记录。它很复杂,不直接映射到数据库,并且可以有任意数量的记录。我编写了代码,因此所有数据都作为散列传递给视图。像这样:

 @formdata = {"datafield_1"=>"value_1", "datafield_2"=>"value_2"}

我想做的是创建类似的东西:

 f.textfield :datafield_1
 f.textfield :datafield_2
 f.textfield :datafield_3
 etc. etc. etc.

但我不知道如何将我的 for 循环的索引传递给变量名。简而言之,我该怎么做 :datafield_i 我的索引在哪里?

4

1 回答 1

0
<% %w(1 2 3).each do |i| %>
  <%= f.textfield(:"datafield_#{i}") -%>
<% end %>

或者

<% @formdata.keys.each do |datafield| %>
  <%= f.textfield(datafield.to_sym) -%>
<% end %>
于 2012-10-05T04:53:18.437 回答