如何本地化ActiveModel ::错误消息

时间:2016-11-15 07:19:29

标签: ruby-on-rails rails-i18n

当我验证模型时,我收到以下错误

<ActiveModel::Errors:0x007ffecf1c9460 
@base=#<Post id: nil, created_at: nil, label_id: nil, user_id: 3>,
@messages={:label=>["can't be blank"]},
@details={:label=>[{:error=>:blank}]}>

如何自定义错误消息?

根据我的理解,以下内容应该有效

en:
  activerecord:
    errors:
      models:
        post:
          attributes:
            label:
              blank: do not like it

但是,我仍然收到默认的错误消息。

1 个答案:

答案 0 :(得分:3)

它是ActiveModel,而不是您要本地化的ActiveRecord:

en:
  activemodel:
    errors:
      models:
        post:
          attributes:
            base:
              label:
                blank: do not like it

来自docs

  

如果您使用的是包含ActiveModel的类,则不然   继承自ActiveRecord::Base,将activerecord替换为activemodel