【发布时间】:2019-02-27 09:11:02
【问题描述】:
我正在处理这个表单,试图填充我的值哈希并通过参数将其发送到我的控制器:
<%= form_for(cash_count) do |f| %>
....
<%= f.label "200 bills", :class => "input-group-addon" %>
<%= number_field_tag "vals[b200]", :class => "form-control" %>
如果我理解正确,number_field_tag 在 params 中发送字段结果对(工作正常),f.number_field 在 params.cash_count 中发送字段结果对(可以不要让它工作)。
我不能用 f.number_field 做到这一点。
我在努力
<%= f.number_field 'vals["b200"]', :class => "form-control" %>
我得到了
undefined method `vals["b200"]' for #<CashCount:0x007f371a756068>
虽然在 irb 中这种语法似乎是正确的:
2.4.0 :028 > d = CashCount.new
2.4.0 :029 > d.vals = c.vals
2.4.0 :031 > d.vals
=> {"b200"=>"3"}
2.4.0 :033 > d.vals["b200"]
=> "3"
澄清:我首先使用另一个名称 - “值”的“vals”列发布了这个问题。我遇到了一些问题,因为它类似于 Hash.values 方法,所以我将其更改为“vals”。
【问题讨论】:
-
values的列类型是什么? -
t.text "值"
标签: ruby-on-rails forms hash form-for