【问题标题】:parsing date submitted by jQuery in Rails form解析 jQuery 在 Rails 表单中提交的日期
【发布时间】:2012-03-31 15:03:09
【问题描述】:

我使用 jquery_datepicker gem 在我的表单中选择日期。但是,datepicker 以以下格式传递参数:

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

但是,Rails 要求日期参数必须采用以下格式:

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

我应该如何解析我的 starts_at 并以后一种格式取回它?

我需要手动解析它的原因,因为某种原因,rails 将 04/07/2012 混淆为 Jul 04,而不是 April 07(如 jQuery datepicker 显示的那样)。

【问题讨论】:

    标签: jquery ruby-on-rails forms datepicker


    【解决方案1】:

    您可以使用 Date.parse(str) 方法来获取正确的值。

    dt = Date.parse(params[: starts_at])
    
    eg: >> Date.parse('04/07/2012')
    => Sat, 07 Apr 2012
    

    【讨论】:

    • 这给了我=> Wed, 04 Jul 2012
    • @cbron 你和 Nilesh 设置了不同的语言环境。这就是原因。
    【解决方案2】:

    您可以尝试在客户端形成日期选择器字符串:

    $( "#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);
        },
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多