日期未使用jquery datepicker rails保存在数据库中

时间:2013-10-28 09:54:57

标签: javascript jquery ruby-on-rails ruby datepicker

我在我的应用程序中使用jquery ui datepicker表单。当我在表格中保存日期字段时显示为nil。

我已经安装了“jquery-ui-rails”gem并在application.js和application.css中给出了jquery ui.all

我的代码如下所示

 <div>
  <%= f.label :deadline %>
  <%= f.text_field :deadline, :id => "datepicker" %>
</div> 

在application.js

  $(function() {
$( "#datepicker" ).datepicker({
    minDate: 0
 });
});

提交表格

    Parameters: {"utf8"=>"✓","authenticity_token"=>"aoiDOLAGZHKui85hum7ozJ31QNZopOvmImyOuDyXCw4=", "task"=>{"task"=>"task1", "assigned_to_id"=>"2", "deadline"=>"10/30/2013", "project"=>"", "workspace_id"=>"4"}, "commit"=>"Create", "id"=>"4"}

插入:

   INSERT INTO "tasks" ("assigned_to_id", "created_at", "project", "task", "updated_at", "user_id", "workspace_id") VALUES (?, ?, ?, ?, ?, ?, ?)  [["assigned_to_id", 2], ["created_at", Mon, 28 Oct 2013 09:51:22 UTC +00:00], ["project", ""], ["task", "task1"], ["updated_at", Mon, 28 Oct 2013 09:51:22 UTC +00:00], ["user_id", 1], ["workspace_id", 4]]

这里没有截止日期字段。它显示为nil.I已经检查了拼写检查的模式......一切都是正确的。可能是什么原因以及如何纠正这个问题。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

可能是db的日期格式问题,您从datepicker

输入

更改datepicker中的日期格式。像

$(function() {
$( "#datepicker" ).datepicker({
    minDate: 0
    dateFormat: 'dd-mm-YYYY'
 });
});

或者您可以更改控制器中的日期格式。

日期的默认格式是date-month-year。

修改

在许多数据库中,默认数据格式为 dd-mm-yyyy

因此,我们需要使用相同的数据格式从日期选择器中提供日期格式。

但是在jquery ui datepicker中,dafault数据格式是dd/mm/yyyy,这不是db的可接受格式。因此该值不会保存在db中。

我们是否需要提供日期字段的日期格式为 dd-mm-yyyy

在jquery datepicker中, dateFormat:'dd-mm-yyyy'将日期格式设置为相同。