I've been looking at the new options available in HTML5 forms, such as declaring input types as "email", "url", and "number", as described here.
How can I use these in conjunction with the rails form builders? I have tried
<% form_for @user do |f| %>
<%= f.email :email, {:placeholder => '[email protected]'} %>
<% end %>
But that does not work. I've also tried
<% form_for @user do |f| %>
<%= f.text_field :email, {:placeholder => '[email protected]', :type => :email} %>
<% end %>
But the type is still "text" and not overridden. Is it possible, or is this something that will need to be addressed in Rails itself?
Looks like there is currently an open ticket and patch for adding the HTML5 form input types. If you can't wait until the patch is accepted, you could apply the patch locally by freezing the actionpack gems and applying the patch or making an initializer that add the extra methods.
Of course the other option is adding the fields manually without a form helper:
<% form_for @user do |f| %>
<%= tag(:input, {:type => :email, :value => f.object.email} %>
<% end %>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With