更改rails text_field表单构建器类型

时间:2010-01-05 02:08:54

标签: ruby-on-rails forms html5

我一直在查看HTML5表单中提供的新选项,例如将输入类型声明为“email”,“url”和“number”,如here所述。

如何将这些与rails form构建器一起使用?我试过了

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

但这不起作用。我也试过了

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

但是类型仍然是“文本”而不​​是被覆盖。是否可能,或者这是否需要在Rails中解决?

2 个答案:

答案 0 :(得分:6)

看起来目前有an open ticket and patch for adding the HTML5 form input types。如果您不能等到补丁被接受,您可以通过冻结actionpack gems并应用补丁或制作添加额外方法的初始化程序来在本地应用补丁。

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

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

答案 1 :(得分:5)

现在有email_field tag