这可能是我在使用Rails时遇到过的最奇怪的问题:
在创建表单的过程中,选择显示1 - 100%的值(但在数据库中保存为小数),如此(工作正常,显示选择“93%”):
<%= f.select(:foobar, ((1..100).map {|i| [i.to_s + "%",(i*0.01)] }),{:selected => 0.93}) %>
我发现'选定'值存在一个奇怪的问题:我的APP中不能预先选择0.94和0.95的值。如此,这不起作用:
<%= f.select(:foobar, ((1..100).map {|i| [i.to_s + "%",(i*0.01)] }),{:selected => 0.94}) %>
所选值最初是db值(当然),但在调试过程中我删除了其他所有内容,并对值进行了硬编码。 0.94&amp; 0.95总是默认为.01(组中的第一个值)。可以手动选择这些值,并将其保存到数据库中,没有任何问题。他们只是无法预选。我甚至删除了选择并将其放在我的应用程序中的另一个表单中,添加了一个attr_accessor。同样的问题。其他每一个值都表现得很完美。
有没有人知道这里会发生什么,或者我只是不得不为此疯狂? :)