在ActiveAdmin中翻译表单

时间:2013-01-17 19:25:14

标签: ruby-on-rails internationalization activeadmin

用户有许多角色(名称:字符串)。 对于ActiveAdmin中的用户表单,我有以下DSL代码(在app / admin / users.rb中):

form do |f|
  f.inputs "Details" do
    f.input :email
    f.input :roles, as: :radio
  end
  f.buttons
end

在db中使用名称为“basic”和“extended”的两个角色,它使用带有“basic”和“extended”标签的单选按钮呈现表单,这些标签是从Role.name属性中提取的。

我需要使用I18n方法翻译此属性的值。

是否可以使用ActiveAdmin完成,或者我应该为此编写自己的部分?

谢谢!

1 个答案:

答案 0 :(得分:5)

考虑这样的事情:

form do |f|
  f.inputs "Details" do
    f.input :email
    f.input :roles, :as => :radio, :collection => User.roles.map { |role| [I18n.t("active_admin.user.role.#{role.name}"), role.id] }
  end
  f.buttons
end