翻译自定义错误消息(Translating custom error messages)

2019-09-29 11:32发布

我有一个表格(使用simple_form),我要实现对翻译的错误消息的支持。 我所有的翻译出现该错误消息的例外。

我的客户模式是:

class Customer < ActiveRecord::Base
  attr_accessible :name, :phone, :email, :contact_method

  validates_presence_of :phone, :email, :contact_method, :message => I18n.t(:required)
end

fr.yml文件

fr:
  name: 'Nom'
  phone: 'Téléphone'
  email: 'Courriel'
  contact_method: 'Méthode de contact'
  required: 'Requis'

我的格式如下:

= simple_form_for @customer do |f|
  = f.input :name, label: t(:name)
  = f.input :phone, label: t(:phone)
  = f.input :email, label: t(:email)

是否有什么我失踪?

Answer 1:

首先,你应该使用一个Symbolvalidates_presence_of 。 不要把它与手动的I18n翻译:

validates_presence_of :phone, :email, :contact_method, :message => :required

其次,对于您的错误信息添加翻译你这样的语言环境文件:

activerecord:
  errors:
    models:
      customer:
        required: 'Requis'


文章来源: Translating custom error messages