0

我的 Rails 日期选择器字段发送日期时间信息,这些信息在 params 哈希中分解为不同的值,例如:

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 的模型中的一个名为“answer”的属性中。所以 rails 不会转换它,因为它与属性的名称不匹配。

4

1 回答 1

0

您可以像这样更改 ajax 调用之前发送的数据

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

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

更新:但似乎 Rails 可以为您转换这些信息 -将数据从 `datetime_select` 转换为 DateTime 对象的 Rails 方法在哪里?

于 2013-08-29T21:03:19.167 回答