Ruby on rails i18n:特定型号的错误消息本地化

Ruby on rails i18n:特定型号的错误消息本地化,ruby-on-rails,ruby,localization,internationalization,Ruby On Rails,Ruby,Localization,Internationalization,我可以为每个验证本地化错误消息,但如何为特定模型创建错误消息呢 普通区域设置如下所示: en: mongoid: errors: messages: taken: "It is already taken" 但我想更改用户型号的消息: en: mongoid: errors: messages: taken: "It is already taken" user: taken:

我可以为每个验证本地化错误消息,但如何为特定模型创建错误消息呢

普通区域设置如下所示:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
但我想更改
用户
型号的消息:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
        user:
          taken: "It is already taken. %{link_to 'Remember password', reset_password_path'}"
试试这个:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
      models:
        user:
          attributes:
            login:
              taken: "It is already taken. %{link}"
参考资料:

PS: 本地化字符串应使用插值变量进行动态替换

例如: 在
用户
对象的
登录
字段中添加错误:

user.errors.add(:login, :taken, :link => "foo")

你能解释一下你是怎么知道的吗?我如何理解本地化中我需要的任何东西的路径?PS:作为我刚才使用的链接,ActiveRecord代码注释中提到了原始HTMLIt。我假设mangoid可能遵循相同的约定。我尝试将链接添加到密码重置表单,但始终出现以下错误:
在“中缺少插值参数”无效。单击%{link}重新向您发送密码。确认“({:model=>“User”,:attribute=>“password token”,:value=>nil}给定)
。Rails 3.1中有什么变化吗?