我将故事货币值整数化为price_in_cents或fee_in_cents。因此,1.00美元将作为100存储在数据库中。在Rails中将货币值转换为美分的麻烦
在内部,我一直只是在表单中输入100时,我的意思是1.00,但我认为将表单输入1.00转换为100模型,但我遇到了麻烦。
不管我输入什么,我都得到两个值。这里的模型:
before_create :convert_money_to_cents
attr_accessor :price, :fee
private
def convert_money_to_cents
self.price_in_cents = price.to_i * 100
self.fee_in_cents = fee.to_i * 100
end
任何想法,为什么它总是出现零?我尝试将字符串转换为各种东西(浮动),我仍然得到零。
什么是您的视图和控制器是什么样子?我怀疑当他们读取回调方法时,价格和费用是零。 –
我正在使用'text_field_tag'而不是'text_field' ...现在工作。 – Slick23
它是否适用于“1.99”,给你199? 'to_i'实际上会给你1,当乘以100时,给出100的错误答案。 –