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)
使用:locale参数。从文档中:
选件
:locale-设置用于格式化的语言环境(默认为当前语言环境)
...剪...
Run Code Online (Sandbox Code Playgroud)number_to_currency(1234567890.506, locale: :fr) # => 1 234 567 890,51 €
要添加对语言环境的支持,您需要使用<locale>.ymlunder config/locale,例如:
ru.yml
ru:
number:
currency:
format:
delimiter: ! ','
format: ! '%n %u'
precision: 2
separator: '.'
unit: ???.
Run Code Online (Sandbox Code Playgroud)