Ruby on rails 在错误消息中本地化activerecord模型名称
我有一个查询类,我希望它的人类可读名称在活动记录错误消息中为“Search”。activerecord本地化树如何查找此案例 我试过:Ruby on rails 在错误消息中本地化activerecord模型名称,ruby-on-rails,localization,Ruby On Rails,Localization,我有一个查询类,我希望它的人类可读名称在活动记录错误消息中为“Search”。activerecord本地化树如何查找此案例 我试过: en: activerecord: models: query: "Search" errors: models: query: attributes: name: unique_within_scope: "blah blah"
en:
activerecord:
models:
query: "Search"
errors:
models:
query:
attributes:
name:
unique_within_scope: "blah blah"
属性stuff通过以下方式工作:
errors.add(:name, I18n.t('activerecord.errors.models.query.attributes.name.unique_within_scope'))
在模型中。但是,我希望在\u范围内翻译unique\u的错误消息会导致:
“搜索保存失败:
诸如此类”
而不是:
“查询保存失败:
诸如此类”
就像现在一样
谢谢你的帮助。谢谢 它实际上起作用了,我只需要重新启动服务器。当你的方法起作用时,这会更干净:
errors.add(:name, :unique_within_scope)
然后简单地定义一个资源字符串
activerecord.errors.models.query.attributes.name.unique_within_scope
换句话说,如果您传入一个符号,它将假定它是一个资源键,并将在您的资源包中查找它
另一个好处是,您还可以定义
activerecord.errors.messages.unique_within_scope
为这种类型的错误(由不同的模型或不同的属性使用)设置默认消息,如果需要,您可以为特定的模型覆盖该消息