重命名ActiveAdmin中的参数/字段

时间:2016-02-28 07:58:38

标签: ruby-on-rails-4 activeadmin

我在Rails测试项目中使用Rails 4.2.5和最新版本的ActiveAdmin。我想在ActiveAdmin中重命名参数,就像我可以使用the name of the class一样,但我还没有找到一种简单的方法。

我们假设以下模型:

Employee
    name:string
    role:string

我希望ActiveAdmin在所有管理面板中将“角色”参数显示为“货物”(巴西葡萄牙语中的“角色”)。

我目前正在使用以下解决方法:

ActiveAdmin.register Employee, as: "empregado" do

    permit_params :name, :role

    # Rename the desired parameter in /admin/empregados
    index do
        column "Nome", :name
        column "Cargo", :role
        actions
    end

    # Rename the desired parameter in /admin/empregados/new
    form do |f|
         inputs do
            input :name, label: "Nome"
            input :role, label: "Cargo"
        end
        actions
    end

    # Rename the desired parameter in /admin/empregados/[:id]
    show do
        attributes_table do
            row :id
            row("Nome"){ empregado.name }
            row("Cargo"){ empregado.role }
            row("Criado em"){ empregado.created_at }
            row("Atualizado em"){ empregado.updated_at }
        end
    end
end

这是有效的,但它是非常手动的,我不认为这是做事的“Railsistic方式”。此外,还有一些地方没有重命名模型,比如搜索的“过滤器”: enter image description here

我想找到一种简单的方法,可以在所有管理面板中重命名此列/参数,而无需复制代码。有办法吗?

1 个答案:

答案 0 :(得分:2)

ActiveAdmin在显示与模型相关的任何内容时使用ActiveRecord的翻译,因此在您的情况下,您可以将以下内容添加到es.yml文件中:

es:
  activerecord:
    models:
      employee:
        one: Empregado
    attributes:
      employee:
        name: Nome
        role: Cargo
        created_at: Criado em
        updated_at: Atualizado em