【问题标题】:Having trouble extracting date param from form submission从表单提交中提取日期参数时遇到问题
【发布时间】:2016-02-09 22:18:58
【问题描述】:

我正在使用 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 隐式转换为字符串”。有没有更简单的方法可以将我的日期转换为 MySQL 可以搜索的格式?

【问题讨论】:

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


    【解决方案1】:

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

    在咖啡脚本中:

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

    【讨论】:

    • 在这样做之后,尽管我在 datepicker 中选择了一些东西,但调用“params[:day]”仍然产生 nil。
    • 啊,当我使用“user_object_params[:day]”时一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 2020-06-12
    相关资源
    最近更新 更多