将日期时间合并为params散列中的字符串?

时间:2013-08-29 20:53:06

标签: ruby-on-rails ruby ruby-on-rails-3

我的rails日期选择器字段将日期时间信息分解为params hash中的不同值,如:

Parameters: {"commit"=>"Save",
 "interview_date(3i)"=>"29",
 "interview_date(1i)"=>"2013",
 "interview_date(4i)"=>"20",
 "interview_date(5i)"=>"13",
 "interview_date(2i)"=>"8}

如何将日期时间作为一个正确的字符串发送?

  Parameters: {"commit"=>"Save",
     "interview_date"=>"2013-8-29 20:8:13"}

我知道Rails会将此转换为日期,但只有当我的模型将interview_date作为属性时才会发生。 ActiveRecord识别并将其转换为interview_date。在我的例子中,我将此信息存储在名为“回答”的属性中名为Response的模型中。因此rails不会转换它,因为它与属性名称不匹配。

1 个答案:

答案 0 :(得分:0)

您可以在ajax调用之前更改发送的数据,如此

(...).on("ajax:beforeSend", function(event, xhr, settings) {
    settings.data += "&interview_date="+formatted_date_string;
});

并使用上面的每个值格式化该日期字符串。

更新:但似乎Rails可以为您转换这些信息 - Where is the Rails method that converts data from `datetime_select` into a DateTime object?