ActiveAdmin number_to_currency帮助程序

时间:2014-05-21 11:06:29

标签: ruby ruby-on-rails-4 locale activeadmin

我通过 ActiveAdmin 构建管理界面。我有一些资源,如产品,在产品我有文章,标题,描述和价格列。一切运作良好,但我有一点问题,在价格栏我使用帮助 number_to_currency ,默认情况下ActiveAdmin显示货币为 USD 。我想以当地货币显示价格,所以在这里我有一个问题如何实现这个帮助以本地货币显示价格(例如FR,AUD或RUB)。


Rails 4.1.0

ActiveAdmin 1.0.0

ruby​​ 2.1


应用/管理/ product.rb

ActiveAdmin.register Product do

    # Permitted parameters
    permit_params :article_id, :title, :description, :price

    # Displayed columns
    index do
        column :article, :sortable => :article
        column :title
        column :description
    # Currency helper
        column :price, :sortable => :price do |cur|
            number_to_currency cur.price
        end
        default_actions
    end
end

应用/模型/ product.rb

class Product < ActiveRecord::Base

    # Relationship
    belongs_to :article

    # Validations
    validates :article, :title, :description, :price, :presence => true
end

1 个答案:

答案 0 :(得分:4)

使用:locale参数。来自documentation

  

选项

     
     

:locale - 设置用于格式化的语言环境(默认为当前语言环境)

...略...

number_to_currency(1234567890.506, locale: :fr)      # => 1 234 567 890,51 €

要添加对区域设置的支持,您需要在<locale>.yml下设置config/locale,例如:

ru.yml

ru:
  number:
    currency:
      format:
        delimiter: ! ','
        format: ! '%n %u'
        precision: 2
        separator: '.'
        unit: руб.