【发布时间】:2018-01-26 13:14:45
【问题描述】:
我有一个带有 2 个字段的 Rails 模型:“名称”和“存储桶”。 Name 是一个字符串,bucket 是一个散列形式:bucket: {red: 1, green: 2, ...}。
我创建了一个 rails 表单来填充这些字段,但是虽然名称可以正常工作,但其余的甚至都不会显示为值。
这是它不起作用的一点,当我尝试将颜色绑定到用户提供的值时,默认值为 0。
<% @board.fetch_all_colors.each do |color| %>
<%= form.label color.to_sym, "#{color}:" %>
<div class="input">
<%= form.text_field :bucket, value: 0.0 %>
</div>
<% end %>
问题是,当我调试和打印参数时,我只找到一个空的桶哈希。一个问题似乎是由于每个循环,我只能得到最后一个输入文本。
编辑:我找到了一个解决方法,可以让我完成一半。我使用的是以下内容,而不是 text_field:
text_field_tag "bucket[]"
上面正常使用我的输入并将其放入数组中。问题在于,由于输入是动态的(并且可能有标签来来去去,我不能保证数组的位置(例如,第三个位置总是“红色”)。我可以使用类似上面的东西吗但是有一个哈希?
【问题讨论】:
标签: ruby-on-rails forms web