Rails i18n不会从yml转换复数关系名称

时间:2019-02-14 18:11:44

标签: ruby-on-rails rails-i18n

在这种情况下,person对象有一个price

当我尝试销毁price正在使用的person时,我不能,因为它是dependent :: restrict_with_error。 (这是预期的)

我使用yml文件将错误消息从英语翻译为葡萄牙语。但是复数形式的关系不会翻译。

关系 价格has_many:人 人属:价格

示例:

  

obj_price.errors.messages:Nãoépossível独家注册人 人民 受抚养者

我希望 被翻译为 比索

price.rb

class Price < ApplicationRecord
  has_many :people, dependent: :restrict_with_error
end

person.rb

class Person < ApplicationRecord
  belongs_to :price
end

price.yml

pt-BR:
  activerecord:
    models:
      price: Tabela de Preços
      prices: Tabelas de Preços
    attributes:
      price:
        name: Nome

person.yml

pt-BR:
  activerecord:
    models:
      person: Pessoa
      people: Pessoas
    attributes:
      person:
        id: ID
        name: Nome
        price_id: Tabela de preços

1 个答案:

答案 0 :(得分:2)

根据rails documentation,应将one用作单数,将other用作复数。

所以在您的 person.yml

pt-BR:
  activerecord:
    models:
      person: 
        one: Pessoa
        other: Pessoas
    attributes:
      person:
        id: ID
        name: Nome
        price_id: Tabela de preços