2

用户有许多角色(名称:字符串)。对于 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 来完成,还是我应该为此编写自己的部分内容?

谢谢!

4

1 回答 1

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
于 2013-01-17T21:55:33.023 回答