【问题标题】:Rails 3 - How do I define ActiveModel translations for several attributes?Rails 3 - 如何为多个属性定义 ActiveModel 翻译?
【发布时间】:2010-10-17 15:02:21
【问题描述】:

我正在尝试一个带有翻译的 activemodel 实例。我发现验证工作(使用另一个语言环境)的唯一方法是为我在模型中定义的每个字段复制错误消息。所以对于这个模型:

require 'active_model'
class User 
  include ActiveModel::Validations
  attr_accessor :first_name, :last_name, :email, :phone
  attr_accessor :address, :ssn, :university, :faculty
  attr_accessor :time_left, :gpa

  validates_presence_of :first_name, :last_name, :email, :phone
  validates_presence_of :address, :ssn, :university, :faculty
  validates_presence_of :time_left, :gpa
end

我必须写这个 yaml:

en:
  activemodel:
    errors:
      models:
        user:
          attributes:
            phone:
              blank: 'cannot be empty' 
            first_name:
              blank: 'cannot be empty' 
            last_name:
              blank: 'cannot be empty' 
            email:
              blank: 'cannot be empty' 
            gpa:
              blank: 'cannot be empty' 
            address:
              blank: 'cannot be empty' 
            faculty:
              blank: 'cannot be empty' 
            university:
              blank: 'cannot be empty' 

此外,我似乎必须为每个模型都这样做,而不是仅仅定义一个通用的方式 activemodel 应该翻译所有模型。我试过了:

en:
  activemodel:
    errors:
      models:
        attributes:
           blank: 'cannot be empty' 

但这没有用。我显然错过了一些东西......谢谢。

【问题讨论】:

  • 这个问题解决了我的问题。非常感谢!

标签: internationalization ruby-on-rails-3 yaml activemodel


【解决方案1】:

试试这个:

en:
  errors:
    messages:
      blank: "cannot be empty"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2011-04-18
    相关资源
    最近更新 更多