【发布时间】:2013-09-04 11:30:20
【问题描述】:
我有一个邮资表,其中包含一个使用 postgresql 的数组类型的费率列。 该数组包含 3 个值,例如 [1.99, 2.99,5.99]。 我不知道如何正确提交表单,我想为数组的每个元素显示一个字段。
我当前的非工作代码是;
= form_for [:admin,@postage] do |f|
.field-box
= f.label :name
= f.text_field :name
= f.label "UK"
= text_field_tag "rate[]"
= f.label 'EU'
= text_field_tag "rate[]"
= f.label "Rest of World"
= text_field_tag "rate[]"
表单在参数中传递但不保存到数据库中
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxx=", "postage"=>{"name"=>"Item1"}, "rate"=>["1.99","2.99","5.99"], "button"=>"", "id"=>"2"}
如何正确设置表单,订单是否始终不变?
【问题讨论】:
-
rate数组的值是用户提供的并在表单中提交的吗? -
是的,它们是来自用户的输入
-
并且
rate是@postage的一部分吗?即,你能打电话给@postage.rate吗? -
您在模型中使用过
serialize :rate。 -
是的 rate 是 postage 的一个属性,因为 rate 列是 'array' 类型,所以没有序列化
标签: ruby-on-rails forms postgresql ruby-on-rails-4