Ruby on rails 更改rails文本字段表单生成器类型

Ruby on rails 更改rails文本字段表单生成器类型,ruby-on-rails,forms,html,Ruby On Rails,Forms,Html,我一直在研究HTML5表单中可用的新选项,如所述,将输入类型声明为“email”、“url”和“number” 如何将它们与rails表单生成器结合使用?我试过了 <% form_for @user do |f| %> <%= f.email :email, {:placeholder => 'user@domain.com'} %> <% end %> 'user@domain.com'} %> 但这是行不通的。我也试过了 <% for

我一直在研究HTML5表单中可用的新选项,如所述,将输入类型声明为“email”、“url”和“number”

如何将它们与rails表单生成器结合使用?我试过了

<% form_for @user do |f| %>
  <%= f.email :email, {:placeholder => 'user@domain.com'} %>
<% end %>

'user@domain.com'} %>
但这是行不通的。我也试过了

<% form_for @user do |f| %>
  <%= f.text_field :email, {:placeholder => 'user@domain.com', :type  => :email} %>
<% end %>

'user@domain.com“,:type=>:email}%>

但是类型仍然是“text”,并且没有被覆盖。这是可能的,还是需要在Rails本身中解决的问题?

看起来目前有。如果你不能等到补丁被接受,你可以通过冻结actionpack gems并应用补丁或者制作一个初始值来添加额外的方法,在本地应用补丁

当然,另一个选项是在没有表单帮助器的情况下手动添加字段:

<% form_for @user do |f| %>
  <%= tag(:input, {:type => :email, :value => f.object.email} %>
<% end %>

:email,:value=>f.object.email}%>

现在有一个。

感谢您的帮助回复。我按照您的建议手动添加了该字段,代码显然还需要一些属性,例如:email、:id=>'user\u email'、:name=>'user[email]、:placeholder=>'required'、:value=>f.object.email})%>