我正在尝试将Booking
模型的属性国际化
来自我的fr.yml:
attributes: &attributes
booking:
first_name: 'Prénom'
last_name: 'Nom'
email: "Email"
phone: 'Téléphone'
activemodel:
errors:
<<: *errors
attributes:
<<: *attributes
当我生成rails控制台时:
2.0.0p0 :011 > I18n.t(:activemodel)[:attributes][:booking]
=> {:first_name=>"Prénom", :last_name=>"Nom", :email=>"Email", :phone=>"Téléphone"}
但是:
2.0.0p0 :013 > Booking.human_attribute_name('first_name')
=> "First name"
但是,在我的网络服务器上,错误仍然是英语+法语,例如:
“名字doitêtrerempli(e)”
我错过了什么?我正在使用mongoid,ruby 2.0.0和rails 3.2.11。
请注意,我使用model.errors.full_messages
来检索错误消息。
答案 0 :(得分:1)
修正了它:
mongoid:
attributes:
<<: *attributes
即使Mongoid::Document
包含ActiveModel::Validation
,您也必须为翻译定义一个单独的密钥。