質問
ERBで単純なフォームを作成していますが、text_fieldタグによって生成されたHTMLにより、ラベルタグの for 属性が無効になります。
<div>
<p><%= label_tag "email[name]", "Name" %></p>
<%= text_field :email, :name, :class => "text_field" %>
</div>
HTMLを作成します
<div>
<p><label for="email[name]">Name</label></p>
<input class="text_field" id="email_name" name="email[name]" size="30" type="text" />
</div>
エラーが発生する
文字&quot; [&quot;で許可されていません 属性の値&quot; for&quot;。
ネストされたパラメーター名email [name]なしでテキストを生成し、ラベルタグ for 属性を変更するにはどうすればよいですか?有効なHTMLを生成する代替アプローチはありますか?
解決
for属性は、名前ではなくラベルである要素のID属性を参照することになっています。
したがって、必要ありません:
<div>
<p><%= label_tag "email_name", "Name" %></p>
<%= text_field :email, :name, :class => "text_field" %>
</div>
...?
他のヒント
引用符から取り出すか、divコンテンツを文字列として生成してdiv.innerHTMLに追加します
所属していません StackOverflow