これはおそらく、Rails を使用して遭遇した中で最も奇妙な問題です。
1 から 100% の値を表示するフォーム選択を作成する過程で (ただし、db には分数として保存されます) (これは正常に動作し、「93%」が選択されていることを示しています):
<%= f.select(:foobar, ((1..100).map {|i| [i.to_s + "%",(i*0.01)] }),{:selected => 0.93}) %>
「選択された」値に奇妙な問題があることを発見しました。値 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 ALWAYS デフォルトは .01 (グループの最初の値)。値は手動で選択でき、問題なくデータベースに保存できます。事前に選択することはできません。選択を削除して、アプリの別のフォームに配置し、attr_accessor を追加しました。同じ問題。他のすべての値は完全に動作します。
ここで何が起こっているのか、誰か知っている人はいますか?:)