Rails3でフィールドの「人間化された」名前を小文字に強制する
-
27-10-2019 - |
質問
私の知る限り、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内: ジェネラコディセタグプレ
私も別の解決策を好みます。しかし、これまでに見つけたのはそれだけです。