修改en.yml文件以验证错误消息rails 3

时间:2012-12-20 20:51:47

标签: ruby-on-rails ruby-on-rails-3 rails-i18n

我从来没有真正处理或理解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

任何帮助表示赞赏

由于

1 个答案:

答案 0 :(得分:8)

您需要覆盖错误消息的默认格式:

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

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

然后你应该得到所需的meessage:

Dont forget to give your Recipe a Dish Name

请记住,这也将覆盖其他ActiveRecord模型的格式。您还需要为要支持的任何其他语言环境指定格式,否则rails将默认显示该属性。