spree を spree 1.0 から 1.3 にアップグレードしていますが、新しい通貨オプションに行き詰まりました。
価格を「€ 100」としてレンダリングしたいのですが、代わりに「€100」を取得します。単位と値の間にスペースを入れるにはどうすればよいですか?
注: money gem を使用するため、ロケール ファイルを変更しても機能しません。
spree を spree 1.0 から 1.3 にアップグレードしていますが、新しい通貨オプションに行き詰まりました。
価格を「€ 100」としてレンダリングしたいのですが、代わりに「€100」を取得します。単位と値の間にスペースを入れるにはどうすればよいですか?
注: money gem を使用するため、ロケール ファイルを変更しても機能しません。
イニシャライザで次のように問題を解決しましたconfig/initializers/currency_formatting.rb
。
# Display prices with a space between symbol and number:
Spree::Money.default_formatting_rules[:symbol_before_without_space] = false
これは、記号と数字の間にスペースを配置するものを含む、Money Gem のSpree::Money
すべての書式設定オプションを制御できる にある書式設定ルールにフックします。これには、すべての通貨を一度に処理できるという、ここで紹介する他のソリューションよりも優れた利点があります。