#html #ruby-on-rails #ruby #haml
#HTML #ruby-on-rails #ruby #haml
Вопрос:
Я пишу код HAML:
.col-xs-4.form-control= text_field_tag :q
Но это преобразует в:
<div class="col-xs-4 form-control">
<input type="text" name="q" id="q">
</div>
Как я могу написать HAML, чтобы он преобразовал его в:
<input type="email" class="form-control" id="q" placeholder="Email">
Я не могу найти никакой хорошей документации для этого.
Комментарии:
1. это потому, что вы читаете неправильную документацию. Прочитайте один на
text_field_tag
Ответ №1:
На самом деле вы просите об этом:
.col-xs-4.form-control
= text_field_tag :q
Это приводит к вложению text_field_tag
HTML-кода внутри другого <div>
, который вы объявили неявно.
Такие помощники представления Rails text_field_tag
не знают, в каком контексте DOM они вызываются, поэтому, если вы хотите добавить классы, вы должны передать их в качестве явных аргументов:
= text_field_tag(:q, nil, class: 'col-xs-4 form-control')
Комментарии:
1. Спасибо! Я не знал, что я могу писать таким образом! Теперь я знаю!