2

我将 Formtastic 与 :as => :selected 输入一起用于数据库中具有固定有效值列表的 FLOAT 字段。这个 Formtastic 输入(DB 中的字段:verticalCDR)的表单视图代码是:

<%= clr.input :verticalCDR, :label => "Vertical CDR: ", :as => :select, 
:collection => [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0], 
:wrapper_html => { :class => "CRF_Field" }  %>

提交表单时,该值已正确保存到 DB,但如果再次查看相同的记录,则 DB 中的当前值不是 :select 输入中的选定值。它是空白的。

表单中的所有其他输入都按预期工作。

非常感谢任何帮助!

4

1 回答 1

0

想我想通了。显然,即使该字段是数字,该集合也应该使用字符串。将集合更改为:

<%= clr.input :verticalCDR, :label => "Vertical CDR: ", :as => :select, 
:collection => ["0.0", "0.05", "0.1", "0.15", "0.2", "0.25", "0.3", "0.35", "0.4", "0.45", "0.5", "0.55", "0.6", "0.65", "0.7", "0.75", "0.8", "0.85", "0.9", "0.95", "1.0"], 
:wrapper_html => { :class => "CRF_Field" }  %>

我猜这与字符串类型的转换有关,尽管这对我来说似乎有些不受欢迎。

于 2012-07-27T15:37:07.970 回答