Ruby on rails 排除错误消息中的属性名称前缀

Ruby on rails 排除错误消息中的属性名称前缀,ruby-on-rails,internationalization,Ruby On Rails,Internationalization,我有一个简单的国际化: attributes: user: login: Login errors: template: header: "Errors" body: "" models: user: attributes: login: taken: "The chosen {{attribute}} is already registered" 产生的错误消息如下所示: 登录所选登录已注册 似乎Rail

我有一个简单的国际化:

attributes:
  user:
    login: Login
errors:
  template:
    header: "Errors"
    body: ""
  models:
    user:
      attributes:
       login:
         taken: "The chosen {{attribute}} is already registered"
产生的错误消息如下所示:

登录所选登录已注册

似乎Rails会自动在错误消息前面加上属性名。这迫使我只能用一种方式来排列消息——将属性名作为第一个单词

我需要以下错误消息:

所选登录名已注册


如何将Rails配置为不在错误消息前面加属性名?

您需要指定错误消息格式才能删除模型名。我相信这只有在Rails 3.2.6及更高版本中才可能实现。在Rails指南的I18n一章中

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

默认值为
%{attribute}%{message}

我不会将您的问题标记为重复问题,因为由于使用了国际化,您的问题略有不同,但请参阅我之前对以下问题的回答,看看这是否对您有帮助:实际上,这将帮助我,对于一个现在不必再问的类似问题,@MegaTux我相信是的。但是我不确定。我很确定答案是不,你不能。我一直无法弄清楚。@NickMcD。您可以尽可能精确地自定义错误,这是可行的,使用该文件并不简单,但阅读指南会有所帮助