无法在 rails 2 应用程序中使用 created_at 提取模型数据

Unable to extract Model Data Using created_at in rails 2 application

@versions = Version.find_all_by_created_at(2015-05-07)
@versions = []

created_at(日期时间)

的数据类型

我想通过仅将日期传递给模型来提取数据。

创建时间是一个日期时间,因此它会非常具体。您需要在当天搜索

date = Date.parse('2015-05-07')
Version.where(created_at: date..date.end_of_day)

试试这个

date = Date.parse('2015-05-07')

然后

Version.where("created_at <= ? AND created_at >= ?", date + 1, date - 1)

我觉得很简单 如果你想在当前日期做,那么你可以使用 Date.today

Version.where(created_at: Date.today.beginning_of_day..Date.today.end_of_day)

否则正如@davidesantangelo 提到的那样没问题,除了使用已解析的 "date" 变量,您可以使用 "date.beginning_of_day" 例如

selectDate = Date.parse('2015-05-07')

Version.where(created_at: selectDate.beginning_of_day..selectDate.end_of_day)

这将形成这样的查询:

SELECT "versions".* FROM "versions" 
WHERE ("versions"."created_at" 
BETWEEN '2015-04-28 00:00:00.000000' AND '2015-04-28 23:59:59.999999')

没有 "beginning_of_day" 它将有类似

的查询
SELECT "users".* FROM "users" 
WHERE ("users"."created_at" 
BETWEEN '2015-04-28' AND '2015-04-28 23:59:59.999999')

所以我更喜欢 beginning_of_day。