Rails:具有可配置输入数量的表单
我编写了一个表单,为每个属性生成文本输入。
属性列表可由客户配置。
<% properties = ["refractivity_at_2kHz", "refractivity_at_5kHz"] %>
<% properties.each do |property| %>
<div class="property">
<%= f.label property %>
<%= f.text_field property %>
</div>
<% end %>
它失败并出现错误未定义的方法refractivity_at_2kHz
。
这个问题通常的解决方案是什么?
我应该向模型添加一个数组并使用 f.text_field myarray[property]
吗?
I wrote a form that generates a text input for each property.
The list of properties is configurable by the customer.
<% properties = ["refractivity_at_2kHz", "refractivity_at_5kHz"] %>
<% properties.each do |property| %>
<div class="property">
<%= f.label property %>
<%= f.text_field property %>
</div>
<% end %>
It fails with the error undefined method refractivity_at_2kHz
.
What is the usual solution for this problem?
Should I add an array to my model, and use f.text_field myarray[property]
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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
Is it a
form_for(@model)
?Because then
f.text_field(property)
looks for that method/property on@model
.May be you want to change
f.text_field(property)
intotext_field_tag(property)
[1]cheers
[1] http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-text_field_tag