1

这可能是我使用 Rails 遇到过的最奇怪的问题:

在创建表单的过程中,选择显示 1 - 100% 的值(但在数据库中保存为小数),如下所示(效果很好,显示选择了“93%”):

<%= f.select(:foobar, ((1..100).map {|i| [i.to_s + "%",(i*0.01)] }),{:selected => 0.93}) %>

我发现 'selected' 值存在一个奇怪的问题:值 0.94 和 0.95 不能在我的应用程序中预先选择。如,这不起作用:

<%= f.select(:foobar, ((1..100).map {|i| [i.to_s + "%",(i*0.01)] }),{:selected => 0.94}) %>

选择的值最初是一个 db 值(当然),但在调试过程中我删除了其他所有内容,并对这些值进行了硬编码。0.94 和 0.95 始终默认为 0.01(组中的第一个值)。可以手动选择这些值,并毫无问题地保存到数据库中。他们只是不能被预先选择。我什至删除了选择并将其以另一种形式放置在我的应用程序中,添加了一个 attr_accessor。同样的问题。每个其他值都表现完美。

有谁知道这里可能发生了什么,或者我只需要在这个问题上发疯吗?:)

4

0 回答 0