[英]translating model attributes rails
我的 rails 应用程序遇到以下问题:我想翻译一些这样的模型属性,以便它们正确显示在验证错误消息中。
de:
activerecord:
models:
account:
attributes:
email:
one: 'Email'
other: 'Emails'
现在在rails控制台中我可以检查
I18n.t 'activerecord.models.account.attributes.email', count: 1
返回“电子邮件”,一切似乎都很好。
但是如果我去浏览器并发布一个表格,我会得到错误
I18n::InvalidPluralizationData in AccountsController#create
translation data {:attributes=>{:email=>{:one=>"Email", :other=>"Emails"}}} can not be used with :count => 1
我该如何解决这个问题? rails 期望获得哪些翻译数据?
谢谢
模型名称和属性名称都有各自的i18n范围。
尝试
activerecord.attributes.account.email
代替
activerecord.models.account.attributes.email
(并相应地调整您的Yaml文件)。
另请参见有关I18n API的便捷Rails指南 。
HTH!
使用 Rails 辅助方法:
Model.human_attribute_name(attribute)
你的翻译 yaml 看起来像这样:
activerecord:
models:
model_name:
attributes:
attribute: attribute name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.