2008-11-06 3 views
0

Я создаю простую форму в ERB, но HTML, созданный тегом text_field, делает атрибут для атрибута в теге метки недопустимым.Недопустимые символы в label_tag

<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> 

что приводит к ошибке

символ "[" не допускается в значении атрибута "для".

Как создать текст с вложенным без имени параметра электронной почты [имя], чтобы изменить маркирующие для атрибута? Есть ли альтернативный подход, который создает допустимый HTML?

ответ

0

для атрибута предполагается ссылаться на идентификатор атрибута элемента, для которого он является меткой , а не его имя.

Поэтому не нужно:

<div> 
    <p><%= label_tag "email_name", "Name" %></p> 
    <%= text_field :email, :name, :class => "text_field" %> 
</div> 

...?

0

Возьмите его из цитаты, или генерировать содержимое Div в виде строки и добавить его в div.innerHTML