我很难在 Solidus 2.0.0 中将符号位置从“$ 100.00”更改为“100.00 $”
我覆盖了 app/lib/spree/money.rb 并添加了这一行
self.default_formatting_rules = {
symbol_position: :after }
基本上,当我在其工作下测试代码时:
pry(main)> ::Money.default_formatting_rules = { symbol_position: :after }
=> {:symbol_position=>:after}
[2] pry(main)> Spree::Money.new(100).to_s
=> "100.00 $"
但在我看来,它仍然显示价格为“$ 100.00”,你知道这可能来自哪里吗?我会非常感谢你的帮助。
非常感谢。
编辑:找到答案
实际上文件money.rb是一个gem文件所以它不能被覆盖(据我所知)所以我创建了
/config/initializers/money_new_and_formatting.rb
Spree::Money.default_formatting_rules[:symbol_position] = :after
所以它加载了所有的 gem 和环境,然后我通过初始化文件夹访问 Money 类并修改格式。
干杯。