【发布时间】: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