3

我很难在 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 类并修改格式。

干杯。

4

0 回答 0