从日期选择器保存日期

Saving date from datepicker

在我的表单中,我使用的是日期选择器插件。它工作正常,我的表单代码如下所示:

= simple_form_for @person do |f|
    = f.input :born, input_html: {class: "datepicker"}, as: :string
    = f.input :died, input_html: {class: "datepicker"}, as: :string
    = f.submit

但是,我得到的参数是字符串形式的,比如“2015/02/04”,它们没有保存在数据库中。使用经典输入参数看起来完全不同。如何将这些参数保存到数据库中?

2.1.0 :049 > d = "2015/02/04"
 => "2015/02/04" 
2.1.0 :050 > Date.parse(d, "%Y/%M/%d")
 => Wed, 04 Feb 2015 

将使用此日期保存

您的日期字符串看起来像 2015/02/04,这是日期选择器插件的默认格式,但要将其保存到数据库,您需要将其更改为 2015-02-04 格式。所以你需要在动作中做这样的事情

params[:born] = params[:born].gsub("/", "-")

你需要在初始化日期选择器插件时传递一个选项,如下所示

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

希望对您有所帮助!