J'essaie de donner une classe à mon text_field_tag
J'ai ceci
<%= text_field_tag :login_aei, class: 'form-control' %>
mais cela continue à générer ceci:
<input type="text" name="login_aei" id="login_aei" value="{:class=>"form-control"}">
Qu'est-ce que je fais mal ?
Vous l'avez mal déclaré. Voici celui qui fonctionnera.
<%= text_field_tag :login_aei, "", class: 'form-control' %>
J'ai donné la valeur du champ input
sous forme de chaîne vide, mais vous pouvez donner à n'importe quelle valeur ce qui répond aux besoins de votre entreprise.
Dans le cas où la liaison de données est nécessaire,
<%= text_field_tag(:personName,"#{@person.name}", class:'form-control', placeholder: 'User Name' )%>
text_field_tag
est une méthode ActionView. La première chose à faire est consultez la documentation . Il dit, text_field_tag
prend cette forme:
text_field_tag(name, value = nil, options = {})
Aditionellement:
value
est la valeur initiale de la zone de texte. Notez que la valeur par défaut est nil et non une chaîne vide. En passant une chaîne, vous l'utilisez de manière non documentée, ce qui a peut-être fonctionné dans ce cas mais pourrait se comporter de manière légèrement différente.
name
est une chaîne. Tandis que Rails actuellement convertit un symbole en chaîne ici, envisagez d'utiliser une chaîne au lieu d'un symbole pour une meilleure gestion de l'avenir.
Les deux problèmes ci-dessus ont été négligés en passant directement à SO pour obtenir une réponse rapide. Considérez RTFM comme c’est la seule source définitive, à part le code source lui-même.