我有发票,可以使用某些jQuery魔法添加项。
控制器:
def new
@invoice = Invoice.new
@invoice.with_blank_items(current_user)
@title = "New invoice"
end
型号:
def with_blank_items(user, n = 1)
n.times do
items.build(:price => user.preference.hourly_rate)
end
self
end
查看:
<%= f.text_field number_with_precision(:price, :strip_insignificant_zeros => true) %>
现在的问题是,新添加项目的价格始终以 XX.X 格式显示,即一位小数位,无论是否为零。
我不喜欢这样,我希望50的价格显示为 50 而不是 50.0 。
将发票保存到数据库后,不必要的零被删除,这是完美的。
如何在新添加的项目上删除无效的零?
答案 0 :(得分:1)
您可以尝试在分配之前以正确的方式格式化值:
items.build(:price => '%g' % user.preference.hourly_rate)
答案 1 :(得分:0)
如果我理解您的问题,我相信您的问题可以通过JavaScript函数修复(删除小数位)。
尝试类似:
function removeDecimal(val){
return val.toFixed(0);
}
这些是我的测试用例:
removeDecimal(123.45) -> 123
removeDecimal(123.4) -> 123
removeDecimal(123) -> 123