我有一个表单,通过名为index.html.erb的文件中的user_path(@user)
远程执行GET请求。在我的show.js.erb中,我有一个功能,可以在开始和结束日期内搜索记录
当我将日期参数作为1.week.ago.to_date
和Date.today
传递时(在我的函数中,我的范围为range=start..stop
,其中start
是开始日期,stop
是停止日期)方法正常,index.html.erb中的div更新
但是当我通过我的表单中的日期选择器jquery传递属性时,该方法给出了一个错误的范围错误
我可以以正确的格式查看参数'获取请求中的日期,但是当我通过show.js.erb打印参数时,它会打印出类似于0.00329843434345245的内容(我假设它是以毫秒为单位的日期)。当我尝试转换params[:from_date].to_i
时,该方法给出了一个错误,指出无法将字符串转换为数字。我只需要将params作为正确的日期属性传递给方法,以便正确地获取记录
如果有人知道该怎么做,请回复。
答案 0 :(得分: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对象的构造函数,然后转换为时间戳。 希望有所帮助
Ajios!