我通过 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
答案 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: руб.