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" value="{:class=>"form-control"}"> What am I doing wrong ?
13 Answers
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.
In the case of data binding is needed,
<%= text_field_tag(:personName,"#{@person.name}", class:'form-control', placeholder: 'User Name' )%> 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:
valueis 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.nameis 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.