如何更改belongs_to字段上的默认验证错误消息

时间:2018-04-03 08:06:12

标签: ruby-on-rails activerecord

在Rails 5中,默认情况下需要belongs_to关系,并在每次失败的验证时提供模型必须存在消息。我想一次在每个belongs_to次事件上本地化默认消息。例如......

在我的模特中:

class Person < ApplicationRecord
  has_many :books
end

class Book < ApplicationRecord
  belongs_to :person
  validates :author_date, presence: true
end

在我的本地化文件中:

en:
     activerecord:
       errors:
         blank: "can't be blank" # not showing on book.errors[:person]

在控制台中:

book = Book.new
book.save
puts book.errors.to_json
>> {person: ["must exist"], :author_date: ["can't be blank"]}

如何在YML文件中本地化必须存在消息。

1 个答案:

答案 0 :(得分:3)

它有密钥required,请尝试:

en:
  activerecord:
    errors:
      messages:
        required: "custom required message"