0

我有一个表单,它通过远程user_path(@user)在一个名为 index.html.erb 的文件中执行 GET 请求。在我的 show.js.erb 中,我有一个在开始和结束日期内搜索记录的函数。
当我将日期参数作为1.week.ago.to_dateand传递时Date.today(并且在我的函数中,我有一个范围,比如开始日期和停止日期range=start..stop在哪里),该方法工作正常并且我在 index.html.erb 中的 div 被更新。 但是,当我通过表单中的日期选择器 jquery 传递属性时,该方法给了我一个错误的范围错误。startstop

我可以以正确的格式查看参数的获取请求中的日期,但是当我通过 show.js.erb 打印参数时,它会打印出类似 0.00329843434345245 的内容(我假设它是以毫秒为单位的日期)。当我尝试转换该params[:from_date].to_i方法时,我给出了一个错误,说无法将字符串转换为数字。我只需要将参数作为正确的日期属性传递给该方法,以便它正确地获取我的记录。
如果有人知道该怎么做,请回复。

4

1 回答 1

0

似乎您的时间戳(自 1970 年 1 月 1 日以来以秒为单位的日期)是错误的,如果您在 JS 控制台上尝试,它不应该包含点

var now =  new Date().getTime()

您应该看到类似: 1371476912800 问题必须是您将日期发送到服务器的方式:

在这种情况下,请尝试将日期的时间戳发送到服务器或确保

var now = new Date().getTime();
$.post("/page/get-date", { from_date: now.toString() });

或者您不能将表示为字符串的日期转换为整数,而是将字符串传递给 rails Date 对象的构造函数,然后转换为时间戳。希望有帮助

阿吉奥斯!

于 2013-06-17T13:54:41.413 回答