如何在ActiveRecord之外的ActiveModel :: Validations中使用I18N翻译?

时间:2017-04-21 16:53:05

标签: ruby-on-rails ruby rails-i18n activemodel

Rails指南提供的I18n范围特定于ActiveModel::Validations对象中ActiveRecord的使用。例如:

en:
  activerecord:
    errors:
      models:
        some_model:
          attributes:
            name:
              blank: "Please enter your full legal name."

以这种方式使用ActiveModel::Validations时,这不会起作用:

class SomeModel
  include ActiveModel::Validations
  validates :name, presence: true
end

相反,框架默认“不能为空白"使用。

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

activemodel替换为activerecord修复了此问题,并允许所有后续作用域生效。例如:

en:
  activemodel: # <---
    errors:
      models:
        message:
          attributes:
            name:
              blank: "Please enter your name."