基于url传递的日期参数的活动记录查找记录

时间:2014-03-02 19:59:02

标签: sql date activerecord ruby-on-rails-4

我只是尝试使用活动记录“where”子句使用在url(date)中传递的参数来查找匹配记录。

我的问题是url中的传递日期与created_At日期不匹配,因此它返回零记录,但所有创建日期与参数日期相同。  在控制台我看到这种奇怪的问题

>> r.created_at
=> Mon, 03 Mar 2014 00:47:46 IST +05:30

>> params[:date]
=> "03/03/2014"

>> params[:date].to_date
=> Mon, 03 Mar 2014

>> r.created_at === params[:date].to_date
=> false

它返回“0”记录,但所有记录甚至仅在给定日期创建 在我的控制器中:

Something.where("created_at = ?" , params[:date].to_date ) 

1 个答案:

答案 0 :(得分:1)

您可以使用strftime方法将params [:date]转换为适当的日期格式OR created_at date到相应的格式。

created_at.strftime("%d/%m/%Y") == params[:date]

您还可以对两个变量应用to_date方法:

created_at.to_date == params[:date].to_date