Ruby on rails ActiveRecord错误消息:字段转换

Ruby on rails ActiveRecord错误消息:字段转换,ruby-on-rails,forms,activerecord,internationalization,Ruby On Rails,Forms,Activerecord,Internationalization,我已经使用了中指定的说明 翻译我的模型的字段,但是标签没有翻译过来。我做错了什么 我有一个用户模型,其字段为名称,我想将其翻译成巴西葡萄牙语(pt_br),因此我得到了我的pt_br.yml: pt_br: errors: "Erro!" activerecord: models: user: "Usuário" attributes: name: "Nome" address

我已经使用了中指定的说明 翻译我的模型的字段,但是标签没有翻译过来。我做错了什么

我有一个
用户
模型,其字段为
名称
,我想将其翻译成巴西葡萄牙语(pt_br),因此我得到了我的pt_br.yml:

pt_br:
    errors: "Erro!"
    activerecord:
        models:
            user: "Usuário"
        attributes:
            name: "Nome"
            address: "Endereço"
        errors:
            template:
                body: "Por favor, corrija os campos assinalados"
                header: "Dados inválidos"
            messages:
                blank: "é obrigatório"
                taken: "já existe"
                too_short: "incompleto"
当我带着一张表格进入页面时:

<% form_for(@usuario) do |f| %>
<%= f.error_messages %>
<%= f.label :name %>
<%= f.text_field :name %>
<% end %>
在我的环境中.rb


缺少什么?

您可以尝试

您需要在
用户
下命名您的属性,即:

pt_br:
  activerecord:
    attributes:
      user:
        name: "Nome"
        address: "Endereço"
您还可以安装自动翻译标签。

如何?从Rails 2.1.0开始就有了

我认为这比任何其他解决方案都好:

<%= f.label :name, User.human_attribute_name(:name) %>


它适用于该字段,但我仍然可以在错误框中找到未翻译的文本(例如,当我将必填字段留空时),非常出色!它起作用了,但是你的链接有问题(可能是去下划线)
<%= f.label :name, User.human_attribute_name(:name) %>