从表单提交中提取日期参数时遇到问题

Having trouble extracting date param from form submission

我正在使用 Rails 4.2.3 和 MySQL 5.5.37。我的模型中有一个 DATE 字段,我的表单中有以下内容……

<div class="field">
  <%= f.label :day %><br>
  <%= f.text_field :day, :class => 'datepicker' %>
</div>

因为我的日期选择器转换的日期格式为“mm/dd/yy”,而MySQL要求它是“yyyy-MM-dd”,所以我想转换日期字符串。所以在我的控制器中我有

@date = DateTime.parse(params[:day])
@mysql_formatted_date = @date.strftime('%Y-%m-%d')
@user_object = UserObject.find_by_user_id_and_object_and_day(@current_user.id, params[:object], @mysql_formatted_date)

但 Rails 抱怨,“没有将 nil 隐式转换为 String”。有没有更简单的方法可以将我的日期转换为可以被 MySQL 搜索的格式?

您在使用 jQuery UI 的日期选择器吗?如果是这样,只需将字段设置为 MySQL 期望的格式。

在咖啡脚本中:

$('#day').datepicker
    dateFormat: 'yy-mm-dd'