Я использую Rails 4 и Solidus 1.2. Как форматировать цену, чтобы иметь символ валюты с пробелом перед числом, например «99 евро»?
Spree/Solidus используют Ruby Money Gem для обработки валют, и я вижу в https://github.com/RubyMoney/money/blob/master/lib/money/money/formatting.rb что есть опция конфигурации
Spree::Money.default_formatting_rules[:symbol_before_without_space] = true
но нет Spree::Money.default_formatting_rules[:symbol_before_with_space] = true
В моем инициализаторе:
# config/initializers/spree.rb
Money::Currency.register({
:priority => 1,
:iso_code => "EUR",
:iso_numeric => "978",
:name => "Euro",
:symbol => "€",
:subunit => "Cent",
:subunit_to_unit => 100,
:separator => ".",
:delimiter => ","
})
И я также попытался отформатировать в моих файлах локализации, например, в de.yml:
---
de:
number:
currency:
format: "%u %n"
Но формат цены по-прежнему «104,90 €» вместо «104,90 €».
Я не хочу выполнять интерполяцию строк для форматирования валюты. Есть ли параметр конфигурации, который мне не хватает?