Ruby on rails 以循环嵌套形式生成属性名称

Ruby on rails 以循环嵌套形式生成属性名称,ruby-on-rails,forms,nested,Ruby On Rails,Forms,Nested,我使用以下代码在rails(3.06)表单中生成一组字段: “关联度”,:value=>number\u-to\u百分比(“s”+index.to\u-s+“\u关联度”,:precision=>0)%> 循环根据项目中的请求数量创建字段-s0\u关联、s1\u关联、s2\u关联等。因此,我使用循环来创建字段,而不是将每行重复10次 表单提交正确,但是对于现有记录,我希望使用number_to_百分比公式填充:值。number_to_percentage拒绝识别属性名称,因此单元格的内容看起

我使用以下代码在rails(3.06)表单中生成一组字段:


“关联度”,:value=>number\u-to\u百分比(“s”+index.to\u-s+“\u关联度”,:precision=>0)%>
循环根据项目中的请求数量创建字段-s0\u关联、s1\u关联、s2\u关联等。因此,我使用循环来创建字段,而不是将每行重复10次

表单提交正确,但是对于现有记录,我希望使用number_to_百分比公式填充:值。number_to_percentage拒绝识别属性名称,因此单元格的内容看起来像“s0_关联”,而不是##%


我做错了什么?我是否需要将*“s”+index.to_s+“_关联”*转换为符号以将其识别为:s0_关联

数字到百分比
想要一个数字。它对您的表单或模型一无所知,因此不能采用参数名称

如果我正确理解了您的请求模型,我认为您需要这样做

<% @project.requests.each_with_index do |request, index| %>
  <%= f.text_field "s#{index}_incidence", :placeholder => "incidence", :value => number_to_percentage(request.incidence, :precision => 0) %>
<% end %>

“关联度”,:value=>number-to-u百分比(request.incidence,:precision=>0)%>
找到了答案:

<% (1..5).each do |index| %>  
  <%= f.text_field "s"+index.to_s + "_incidence", :value => number_to_percentage(f.object["s"+index.to_s + "_incidence"], :precision => 0), :placeholder => "incidence" %>                                                       
<% end %>

数字到百分比(f.object[“s”+index.to\u s+“\u关联”],:精度=>0),:占位符=>“关联”%>

aNoble,感谢您的快速响应。我想我不清楚,所以我更新了前一个问题,使之更好。@Alex,aNoble告诉过你,你的问题在哪里。数字到百分比函数无法理解,您希望传递给它什么字符串。它需要一个数值。
<% (1..5).each do |index| %>  
  <%= f.text_field "s"+index.to_s + "_incidence", :value => number_to_percentage(f.object["s"+index.to_s + "_incidence"], :precision => 0), :placeholder => "incidence" %>                                                       
<% end %>