这里非常简单的语法问题,因为我是rails的新手。在我的控制器中,我有两个变量,我试图在重定向后的通知中显示。它们是piece.title和piece.price(作品是我的模特)。价格是小数,所以我希望在小数点后用两位数显示(如<%= number_with_precision piece.price, :precision => 2 %>
。
我目前的代码是:
redirect_to pieces_path, notice: "Thanks for buying #{piece.title} for #{piece.price}."
这样可行,但如何将价格提高到两位小数?当我尝试精确地编号时,我会遇到语法错误。
感谢。
答案 0 :(得分:0)
你得到了什么错误?我的猜测是price.piece
是零,因为你的代码看起来是正确的,假设你在视图中使用它而不是你的控制器。此外,如果它应该是钱,你应该使用number_to_currency
:
<%= number_to_currency piece.price, :precision => 2 %>
答案 1 :(得分:0)
你可以用这个来实现它:
'%.2f' % 10
#=> "10.00"
"Thanks for buying #{piece.title} for #{'%.2f' % price}."
#=> "Thanks for buying Coffee for 10.00."
将您的通知更改为
class YourControllerName
def my_method
#......
redirect_to pieces_path, notice: "Thanks for buying #{piece.title} for #{'%.2f' % piece.price}."
end
end