2

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"

ただし、私のWebサーバーでは、エラーはまだ英語+フランス語です。

「名 doit être rempli(e)」

何が欠けていますか?私はモンゴイド、ルビー 2.0.0、レール 3.2.11 を使用しています。

model.errors.full_messagesエラーメッセージを取得するために使用していることに注意してください。

4

1 に答える 1

1

修正しました:

mongoid:
  attributes:
    <<: *attributes

Mongoid::Documentが含まれていてもActiveModel::Validation、翻訳用に別のキーを定義する必要があるようです。

于 2013-03-11T13:23:04.647 に答える