ruby-on-rails - SpreeCommerce 价格格式

标签 ruby-on-rails spree

我正在为 SpreeCommerce 2.1.3 构建一个站点,但我一直在努力弄清楚如何正确设置价格格式。

货币是 DKK(丹麦克朗),我正在寻找以下内容:

  • 1000 => 克朗。 1.000,-
  • 1000.50 => 克朗。 1.000,50

  • spree 格式化我的价格是这样的:
  • 1000 => kr.1.000,00
  • 1000.50 => kr.1.000,50

  • 所以有两个问题:
  • 我需要在 kr 之间留一个空格。和价格。
  • 当没有任何小数时,我希望小数呈现为 ,-(例如:1.000,-)

  • 我如何做到这一点?

    这是我来自 的配置配置/初始化程序/spree.rb :
    Spree.config do |config|
      # [...]
      config.currency = "DKK"
      config.currency_symbol_position = "before"
      config.currency_decimal_mark = ","
      config.currency_thousands_separator = "."
    end
    

    解决方案:

    1) 我将此装饰器添加到 Spree::Money(将 ,00 替换为 ,-):
    Spree::Money.class_eval do
      def to_s
        formatted = @money.format(@options)
        formatted.gsub(/,00$/, ",-")
      end
    
      def to_html(options = { :html => true })
        to_s
      end
    end
    

    2)我在我的初始化程序中配置了丹麦货币(在kr之后添加空格):
    Money::Currency.register({
        :priority        => 1,
        :iso_code        => "DKK",
        :iso_numeric     => "208",
        :name            => "Danish krone",
        :symbol          => "kr. ",
        :subunit         => "Øre",
        :subunit_to_unit => 100,
        :separator       => ".",
        :delimiter       => "," 
    })
    

    最佳答案

    关于ruby-on-rails - SpreeCommerce 价格格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21960095/

    相关文章:

    performance - Spree 3 网站速度很慢

    ruby-on-rails - spree 路线: Adding only the api routes

    ruby-on-rails - ActiveRecord 在测试中的奇怪行为

    ruby-on-rails - Rails中ActiveModel实例上的热切加载关联

    ruby-on-rails - 完成作业后如何更新部分

    ruby-on-rails - 大礼包替换默认图像/noimage

    ruby-on-rails - spree 's latest version does this on remote - undefined method ` set_preference' 为 nil :NilClass

    ruby-on-rails - 在子域 Rails 中实现 Spree Cart

    ruby-on-rails - Devise 中的多个用户

    spree - spree 商店是否支持多个供应商购买?