2016-10-12 4 views
0

ich HAML Code ich schreibe:HAML wandelt meinen Code in falsche HTML

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

Aber diese konvertiert zu:

<div class="col-xs-4 form-control"> 
    <input type="text" name="q" id="q"> 
</div> 

Wie kann ich HAML schreiben, dass es zu konvertieren:

<input type="email" class="form-control" id="q" placeholder="Email"> 

Ich kann keine gute Dokumentation dafür finden.

+0

es ist, weil Sie falsche Dokumentation lesen. Lesen Sie die eine auf 'text_field_tag' –

Antwort

2

Was für Sie fragen, ist eigentlich diese:

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

dass die text_field_tag HTML nisten endet im Inneren des anderen <div>, die Sie implizit deklariert haben.

die Schienen sehen Helfer wie text_field_tag sind nicht bewusst, was DOM Kontext sie genannt in wir Sie, wenn Sie also Klassen hinzufügen möchten, müssen Sie diejenigen, die durch die explizite Argumente zu übergeben:

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

Danke! Ich wusste nicht, dass ich so schreiben kann! Jetzt weiß ich! – Doe