特定のフィールドを翻訳する DRY の方法は何ですか?
私の RESTful ビューには、次のような show-view のように、いくつかの繰り返しスニペットがあります。
...
<dt><%= t("activerecord.attributes.user.firstname") %></dt>
<dd><%= @user.firstname %></dd>
...
さて、t("activerecord.attributes.user.attr_name")
何度も書くのではなく、書くだけにしたいと思います(フォームビューt(:attr_name)
と同様)。f.label :firstname
基本的に、これは (少なくとも RESTful ビューでは) 問題にはなりません。なぜなら、I18n モジュールはcontroller
メソッドにクエリを実行してモデル名を推定し、正しい翻訳文字列を推測するだけだからです。
私の質問: このアプローチを実践した経験のある人はいますか? そのための RubyGem さえあるのでしょうか? または:私が考えていなかった落とし穴はありますか?