3
に設定されている場合、私のフォームには、次のものがあります。奇妙な行動量が0.5
<%= f.select(:amount, Order::AMOUNT_VALUES, {:blank => false}) %>
私のモデルがあります:
AMOUNT_VALUES = { '$ 0.50' => 0.5, '$ 1' => 1, '$ 2' => 2, '$ 5' => 5, '$ 10' => 10 }
validate :amount_values_to_be_of_certain_values
def amount_values_to_be_of_certain_values
puts self.amount
unless AMOUNT_VALUES.has_value? self.amount
errors.add(:amount, 'not a valid field')
end
end
私は0.5を選択し、フォームを送信した場合。フォームは「額は有効なフィールドではありません」と言っています。他の値のいずれかを選択すると、フォームは正常に送信されます。
それはここでの問題は間違って何を0
で始まり、小数点とされているようですか?
量列のどのようなタイプですか?ルビの属性タイプは何ですか? – Augusto
このリクエストでログのチャンクを投稿できますか? 'self.amount.to_f'を試してみてください。 – Bohdan
@Augusto、それは整数型 –