翻译某些字段的DRY方式是什么?
在我的RESTful视图中,我有一些重复的片段,就像在show-view中一样:
...
<%= t("activerecord.attributes.user.firstname") %>
<%= @user.firstname %>
...
现在,我不是t("activerecord.attributes.user.attr_name")
一遍又一遍地写,而是只想写t(:attr_name)
(类似于f.label :firstname
表格视图).
基本上,这应该不是问题(至少对于RESTful视图而言),因为I18n模块可以查询controller
方法来推断模型名称,然后猜测正确的翻译字符串.
我的问题:有没有人对这种方法有实际经验?甚至还有RubyGem吗?或者:有没有陷阱,我没想到?
我似乎,ActiveModel::Translation#human_attribute_name
诀窍(例如<%= User.human_attribute_name :firstname %>
).