2012-03-31 354 views
2

我使用jquery_datepicker gem在我的表單中選擇日期。然而,日期選擇器按以下格式通過PARAM:由jQuery以Rails的形式提交的解析日期

{"appointment"=>{"starts_at"=>"04/07/2012"}, "commit"=>"Submit", "id"=>"915"}

但是,Rails的要求日期PARAMS必須爲以下形式:

"starts_at(1i)"=>"2012", "starts_at(2i)"=>"4", "starts_at(3i)"=>"7"

我應該如何分析我starts_at和以後者的格式恢復它?

我需要手動解析它的原因,因爲某些原因,軌道混淆04/07/2012作爲07年4月,而不是07年4月(如jQuery datepicker顯示)。

回答

1

你可以嘗試在客戶端,形成日期選擇器字符串:

$("#starts_at").datepicker({ 
    onSelect: function(dateText, inst) { 
     dateText = $.datepicker.formatDate(
      'mm.dd.yy', 
      new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay) 
     ); 

     inst.input.val(dateText); 
    }, 
}); 
2

您可以使用Date.parse(STR)方法來得到正確的值。

dt = Date.parse(params[: starts_at]) 

eg: >> Date.parse('04/07/2012') 
=> Sat, 07 Apr 2012 
+2

這給了我'=>週三,07月04 2012' – cbron 2012-08-01 15:09:42

+0

@cbron你和Nilesh製作有不同的語言環境設置。這就是原因。 – 2017-02-03 09:10:39