属性名称在错误消息中重复两次

时间:2010-02-13 20:41:41

标签: ruby-on-rails internationalization

希望有人可以指出我正确的方向。我有一个en.yml文件

en:
  hello: "Hello world"
  activerecord:
    models:
      recipe: "Recipe"
    attributes:
      recipe:
        title: "Recipe title"
    errors:
      models:
        recipe:
          attributes:
            title:
              blank: "{{attribute}} cannot be left blank"

在我的模型中,我验证了标题字段的存在

  validates_presence_of :title

但是,我在页面上看到的错误消息是这样的

Recipe title Recipe title cannot be left blank.

我无法弄清楚为什么属性名称会重复两次。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

因为rails使用属性名称作为错误消息的前缀。您在邮件中不需要{{attribute}}。这将按预期工作:

en:
  hello: "Hello world"
  activerecord:
    models:
      recipe: "Recipe"
    attributes:
      recipe:
        title: "Recipe title"
    errors:
      models:
        recipe:
          attributes:
            title:
              blank: "cannot be left blank"

答案 1 :(得分:0)

有一个修复程序可以使错误消息更具可定制性(属性名称不会显示在句子的开头)。您可以在此处找到它:http://adamhooper.com/eng/articles/5