ActiveAdmin number_to_currency帮助器

dPa*_*a13 2 ruby locale activeadmin ruby-on-rails-4

我通过ActiveAdmin构建管理界面。我有一些像“产品”这样的资源,在“产品”上我有“文章”,“标题”,“描述”和“价格”列。一切工作正常,但我有一个小问题,在“价格”列中,我使用辅助程序number_to_currency,默认情况下,ActiveAdmin将货币显示为USD。我想以当地货币显示价格,所以在这里我有一个问题,如何实现此助手以当地货币显示价格(例如FR,AUD或RUB)。


Rails 4.1.0

ActiveAdmin 1.0.0

红宝石2.1


app / admin / 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
Run Code Online (Sandbox Code Playgroud)

app / models / product.rb

class Product < ActiveRecord::Base

    # Relationship
    belongs_to :article

    # Validations
    validates :article, :title, :description, :price, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

Uri*_*ssi 5

使用:locale参数。从文档中

选件


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

...剪...

number_to_currency(1234567890.506, locale: :fr)      # => 1 234 567 890,51 €
Run Code Online (Sandbox Code Playgroud)

要添加对语言环境的支持,您需要使用<locale>.ymlunder config/locale,例如:

ru.yml

ru:
  number:
    currency:
      format:
        delimiter: ! ','
        format: ! '%n %u'
        precision: 2
        separator: '.'
        unit: ???.
Run Code Online (Sandbox Code Playgroud)