我有一个允许用户创建活动的表单。用户填写的字段之一是日期。目前这是提交日期的代码:
<%= u.label :date %> <%= u.text_field :date, :placeholder => 'mm/dd/yyyy' %>
出于某种原因,如果用户输入01/02/2012,它会存储为dd / mm / yyyy,认为该事件是在2月1日而不是1月2日。我已经配置了我的初始化程序文件,以我希望的方式显示日期/日期时间(正如这里的几个帖子所推荐的那样),但这仍然是一个问题
更新 - 这是我的完整表格:
<%= form_for(@party_profile) do |u|%>
<p>
<%= u.label :name %><%= u.text_field :name %>
</p>
<p>
<%= u.label :location %><%= u.text_field :location %>
</p>
<p>
<%= u.text_field :date, :placeholder => 'dd/mm/yyyy' %>
</p>
<p>
<%= u.label :password %> <%= u.text_field :password %>
</p>
<%= u.submit "Let's Party!", :class => "btn btn-primary" %>
<% end %>
我尝试使用select_date替换u.text_field,如下所示,但后来我收到错误:
undefined method `select_date' for #<ActionView::Helpers::FormBuilder:0x007f9e5e8c69d8>
答案 0 :(得分:4)
<%= u.label :date %> <%= u.date_select(:date, :order => [:month, :day, :year]) %>
是我能想到的最好的 - 仍然没有格式化我想要的方式
答案 1 :(得分:2)
我将它用于我的日期:
<%= u.label :date %>
<%= u.date_field :date %>
希望有帮助=)
答案 2 :(得分:-1)
考虑使用select_date,而不是用户可以输入任何内容的简单文本字段。
<%= u.select_date(:date, :order => [:month, :day, :year]) %>
http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_date