无法从表单提交中提取日期参数

时间:2016-02-09 22:18:59

标签: mysql ruby-on-rails arguments form-submit date-format

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

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

因为我的datepicker转换的日期格式为“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可以搜索的格式?

1 个答案:

答案 0 :(得分:0)

您使用的是jQuery UI的datepicker吗?如果是这样,只需将字段设置为具有MySQL期望的格式。

在coffeescript中:

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