HAML 将我的代码转换成错误的 HTML

HAML converts my code into wrong HTML

我正在编写 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">

我找不到任何好的文档。

你要的其实是这个:

.col-xs-4.form-control
  = text_field_tag :q

最终会将 text_field_tag HTML 嵌套在您隐式声明的另一个 <div> 中。

text_field_tag 这样的 Rails 视图助手不知道他们被调用的 DOM 上下文,所以如果你想添加 类 你必须将它们作为显式参数传递:

= text_field_tag(:q, nil, class: 'col-xs-4 form-control')