3

一部のビューでは (ヘルパー?) xxx という名前が使用され、他の場所では xxx_tag という名前のビューが使用されています。

2つの違いと、特定のケースでどちらを使用するかを知る方法を誰かが概説できますか?

4

2 に答える 2

2

f.labelで作成されたフォーム オブジェクト内にいform_for(...) do |f|て、モデル属性を参照する場合に使用します。アプリが国際化されている場合、Rails は翻訳を使用して属性名を表示します。

label_tagフォーム オブジェクトでない場合に使用します。(または、フォーム オブジェクトを使用しているが、モデル属性以外のダミー ラベルを作成したい場合。)

すべてのフォーム入力には、 と などの接尾辞の有無にかかわらず、これら 2 つのバリアントがあります_tagselectselect_tag

于 2013-10-31T11:09:36.200 に答える
2

label(および同等のもの) はフォーム ビルダー ( を呼び出したときに生成されるオブジェクト) で呼び出すform_forことができるため、フォームがフォーカスされているモデル インスタンスを認識することができ、属性を介して適切な入力に自動的にリンクし、forI18n 変換を使用することができます。 .

label_tag(および同等のもの) はフォームに関連付けられておらず、より基本的なレベルでラベル HTML タグを生成するために使用されます。それほどスマートではありません。必要なすべての属性を指定する必要がありますが、それが必要な場合もあります。

于 2013-04-09T15:43:06.560 に答える