Rails I18n:缩短翻译调用(至少在视图中)

DMK*_*MKE 5 internationalization abbreviation method-call ruby-on-rails-3

翻译某些字段的DRY方式是什么?

在我的RESTful视图中,我有一些重复的片段,就像在show-view中一样:

...
<dt><%= t("activerecord.attributes.user.firstname") %></dt>
<dd><%= @user.firstname %></dd>
...
Run Code Online (Sandbox Code Playgroud)

现在,我不是t("activerecord.attributes.user.attr_name")一遍又一遍地写,而是只想写t(:attr_name)(类似于f.label :firstname表格视图).

基本上,这应该不是问题(至少对于RESTful视图而言),因为I18n模块可以查询controller方法来推断模型名称,然后猜测正确的翻译字符串.

我的问题:有没有人对这种方法有实际经验?甚至还有RubyGem吗?或者:有没有陷阱,我没想到?

DMK*_*MKE 6

我似乎,ActiveModel::Translation#human_attribute_name诀窍(例如<%= User.human_attribute_name :firstname %>).