我写了一个表单,为每个属性生成一个文本输入 属性列表可由客户配置。
<% properties = ["refractivity_at_2kHz", "refractivity_at_5kHz"] %>
<% properties.each do |property| %>
<div class="property">
<%= f.label property %>
<%= f.text_field property %>
</div>
<% end %>
失败并显示错误undefined method refractivity_at_2kHz
。
这个问题的常用解决方案是什么?
我应该在模型中添加数组,并使用f.text_field myarray[property]
吗?
答案 0 :(得分:1)
是form_for(@model)
吗?
因为f.text_field(property)
会在@model
上查找该方法/属性。
您可能希望将f.text_field(property)
更改为text_field_tag(property)
[1]
欢呼声
[1] http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag