質問

特定のフィールドを翻訳する乾燥方法は何ですか?

私の安らかな眺めでは、ショービューでこのような繰り返しのスニペットがあります。

...
<dt><%= t("activerecord.attributes.user.firstname") %></dt>
<dd><%= @user.firstname %></dd>
...

今、書く代わりに t("activerecord.attributes.user.attr_name") 何度も何度も書きたいだけです t(:attr_name) (に似ている f.label :firstname フォームビューで)。

基本的に、これは(少なくとも残りのビューでは)問題ではないはずです。I18Nモジュールは controller モデル名を外挿して、正しい翻訳文字列を推測する方法。

私の質問:誰かがこのアプローチで実践的な経験をしましたか?それのためのルビーグさえあるでしょうか?または:落とし穴はありますか、私は考えていませんか?

役に立ちましたか?

解決

私は思われる、 ActiveModel::Translation#human_attribute_name トリックはありますか(例: <%= User.human_attribute_name :firstname %>).

他のヒント

これを行うための推奨される方法は、これを部分的なものにすることです(例: app/views/user/_form.html.erb あるいは app/views/user/_user.html.erb)、次に、先頭のドットで名前の前に、したがって:

<dt><%= t(".firstname") %></dt>
<dd><%= user.firstname %></dd>

詳しくは: (から Railsを使用したアジャイルWeb開発); Railsドキュメント

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top