質問

私の知る限り、Rails 3でフィールドの「人間化された」名前を設定するための一般的な方法は、ロケールを使用することです。 ジェネラコディセタグプレ

ただし、Rails3でデフォルトの人間化された名前の小文字バージョンを使用するだけです。これを行うための簡単な組み込みの方法はありますか?

明確にするための例:form_for内にある場合、<%= f.label :username %>はデフォルトで「ユーザー名」を表示します。「ユーザー名」を表示したい。

役に立ちましたか?

解決

labelヘルパーは、デフォルトで human_attribute_name を使用して属性を人間の名前に変えます。ソースを見ると、human_attribute_nameは、attributes.to_s.humanizeにフォールバックする前にいくつかのことを試みます。最初に翻訳を試みてから、オプションハッシュで:defaultオプションを探します。

したがって、必要な機能を取得するための最も簡単で最良の方法は、human_attribute_nameオプションを提供する独自の:defaultをオーバーライドしてから、元のコードを呼び出すことです。Railsは、alias_method_chainを使用してこの種のことを行うための合理的な方法を提供するので、...

十分に聞いたので、答えてください!

config/initializersの任意のファイルに以下を入力して、アプリを再起動します。 ジェネラコディセタグプレ

他のヒント

同じ問題がありました。 私はcssを介してそれを解決しました:

foo.html.erb内: ジェネラコディセタグプレ

bar.css内: ジェネラコディセタグプレ

私も別の解決策を好みます。しかし、これまでに見つけたのはそれだけです。

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