params [:date]将日期打印为数字

时间:2013-06-17 00:33:30

标签: jquery ruby-on-rails date format params

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

1 个答案:

答案 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!