2016-08-31 5 views
1

Я использую Rails 4 и Solidus 1.2 Как форматировать цену, чтобы иметь символ валюты с пробелом перед номером, например «€ 99», ?Spree/Solidus: формат валюты для отображения символа перед ценой с пробелом «€ 99»

Spree/Солид использовать Ruby, деньги 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] = истинный

в моем инициализаторе:

# 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».

Я не хочу использовать String Interpolation для форматирования валюты. Есть ли вариант конфигурации, который мне не хватает?

ответ

2

нормально, это неудобно, но я просто должен был установить

Spree::Money.default_formatting_rules[:symbol_before_without_space] = false 

, чтобы получить нужный мне формат.

 Смежные вопросы

  • Нет связанных вопросов^_^