我在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方式”。此外,还有一些地方没有重命名模型,比如搜索的“过滤器”:
我想找到一种简单的方法,可以在所有管理面板中重命名此列/参数,而无需复制代码。有办法吗?
答案 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