Emi*_*äck 2 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2
我正在使用遗留数据库模式,该模式使用camelCase作为其属性,Rails不能很好地转换为人类可读的形式.对于一个模型我可以定义例如.
en:
active_record:
attributes:
user:
createDate: "Create date"
Run Code Online (Sandbox Code Playgroud)
但这仅适用于User模型.有没有办法定义"全局属性翻译"?就像是
en:
activerecord:
attributes:
global:
createDate: "Create date"
Run Code Online (Sandbox Code Playgroud)
谢谢.
Rails将在以下位置查找属性的翻译(如果您的属性名称未命名空间):
(看一下human_attribute_name的ruby文档)
所以为了达到你想要的目标,你应该使用以下内容:
en:
attributes:
createDate: "Create date"
Run Code Online (Sandbox Code Playgroud)
您仍然可以通过添加翻译来覆盖这些"默认"属性名称,例如您的第一个示例
en:
active_record:
attributes:
user:
createDate: "User creation date"
Run Code Online (Sandbox Code Playgroud)
将导致:
User.human_attribute_name(:createDate) => "User creation date"
Topic.human_attribute_name(:createDate) => "Create date"
SomeOtherModelClass.human_attribute_name(:createDate) => "Create date"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
624 次 |
最近记录: |