Reputation: 3422
I am trying to give a class to my text_field_tag
I have this
<%= text_field_tag :login_aei, class: 'form-control' %>
but it keeps generating this :
<input type="text" name="login_aei" id="login_aei" value="{:class=>"form-control"}">
What am I doing wrong ?
Upvotes: 34
Views: 41693
Reputation: 10592
text_field_tag
is an ActionView method. First thing to do is check the documentation. It says, text_field_tag
takes this form:
text_field_tag(name, value = nil, options = {})
Additionally:
value
is the initial value for the text box. Notice the default is nil, not an empty string. By passing in a string, you are using it in an undocumented way, which may have worked in this instance but could behave subtly different.
name
is a string. While Rails currently converts a symbols into strings here, consider using a string instead of a symbol for better future-proofing.
The two issues above were overlooked by skipping straight to SO for the quick answer. Consider RTFM as it is the only definitive source, besides the source code itself.
Upvotes: 0
Reputation: 8561
In the case of data binding is needed,
<%= text_field_tag(:personName,"#{@person.name}", class:'form-control', placeholder: 'User Name' )%>
Upvotes: 2
Reputation: 118299
You declared it wrong. Here is the one will work.
<%= text_field_tag :login_aei, "", class: 'form-control' %>
I gave the value of the input
field as empty string, but you can give any value what meets your business needs.
Upvotes: 67