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"

现在显然这是错误的,我正在寻找有关如何布局文件的一些帮助,也许是对正在发生的事情的解释,我阅读了文档,但是对于我的 Rails 技能水平来说,它的水平有点太高了。

目前,如果对 disc_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 回答