3

過去に使用したことがないため、en.ymlファイルを実際に処理したり理解したりしたことはありません。今日は、ファイルを変更して、フォームの送信に失敗したときに表示される検証エラーメッセージをカスタマイズしようとしています。

レシピモデルと、レシピを送信するフォームがあります。現時点では、私のen.ymlファイルは次のようになっています

  en:  
   activerecord:
    models: 
     recipe: 

    attributes:
     user:
      email: 
       errors:
         models:
          recipe:
           attributes:
            dish_name:
             blank: "Dont forget to give your Recipe a Dish Name"

今明らかにこれは間違っています、私はファイルをレイアウトする方法とおそらく何が起こっているのかについての説明を探していました、ドキュメントを読んでください、しかしそれはレールに関しては私のスキルレベルには少し高すぎます。

また、現時点では、dish_nameの検証が失敗した場合、つまり空白の場合、このエラーメッセージが表示されます

Dish name Dont forget to give your Recipe a Dish Name

助けていただければ幸いです

ありがとう

4

1 に答える 1

9

エラーメッセージのデフォルトの形式を上書きする必要があります。

en:
  errors:
    format: "%{message}"

  activerecord:
    errors:
      models: 
        recipe: 
          attributes:
            dish_name:
              blank: "Dont forget to give your Recipe a Dish Name"

次に、目的のメッセージを取得する必要があります。

Dont forget to give your Recipe a Dish Name

これにより、他のActiveRecordモデルのフォーマットも上書きされることに注意してください。また、サポートする他のロケールの形式を指定する必要があります。そうしないと、railsはデフォルトで属性を表示します。

于 2012-12-20T21:14:09.707 に答える