我正在为 SpreeCommerce 2.1.3 构建一个站点,但我一直在努力弄清楚如何正确设置价格格式。
货币是 DKK(丹麦克朗),我正在寻找以下内容:
spree 格式化我的价格是这样的:
所以有两个问题:
我如何做到这一点?
这是我来自 的配置配置/初始化程序/spree.rb :
Spree.config do |config|
# [...]
config.currency = "DKK"
config.currency_symbol_position = "before"
config.currency_decimal_mark = ","
config.currency_thousands_separator = "."
end
解决方案:
1) 我将此装饰器添加到 Spree::Money(将 ,00 替换为 ,-):
Spree::Money.class_eval do
def to_s
formatted = @money.format(@options)
formatted.gsub(/,00$/, ",-")
end
def to_html(options = { :html => true })
to_s
end
end
2)我在我的初始化程序中配置了丹麦货币(在kr之后添加空格):
Money::Currency.register({
:priority => 1,
:iso_code => "DKK",
:iso_numeric => "208",
:name => "Danish krone",
:symbol => "kr. ",
:subunit => "Øre",
:subunit_to_unit => 100,
:separator => ".",
:delimiter => ","
})
最佳答案
关于ruby-on-rails - SpreeCommerce 价格格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21960095/