Ruby on rails Rails中的日期范围

Ruby on rails Rails中的日期范围,ruby-on-rails,Ruby On Rails,我正在寻找特定日期之间的“书籍” 我有一个变量publishdate,希望获得所有出版日期介于到之间的书籍,但我不确定使用哪个操作符 我想到过这样的东西,但它不起作用 @books = Book.where(:e_release_date => 20141217 && :e_release_date <= 20141017) @books=Book.where(:e_release_date=>20141217&&:e_release_date我假设您使用的是Act

我正在寻找特定日期之间的“书籍”

我有一个变量publishdate,希望获得所有出版日期介于到之间的书籍,但我不确定使用哪个操作符

我想到过这样的东西,但它不起作用

@books = Book.where(:e_release_date => 20141217 && :e_release_date <= 20141017)

@books=Book.where(:e_release_date=>20141217&&:e_release_date我假设您使用的是ActiveRecord。在ActiveRecord中,您可以这样查询:

@books = Book.where(:e_release_date => 20141217..20141017)

我假设您使用的是ActiveRecord。在ActiveRecord中,您可以在以下两种情况之间进行查询:

@books = Book.where(:e_release_date => 20141217..20141017)

您可以在
date1
date2

data = Book.where(e_release_date: Date.parse(params[:date1])..Date.parse(params[:date2]))
它将为您提供日期
2014-10-17
2014-12-17

SELECT * FROM books WHERE (books.e_release_date BETWEEN '2014-10-17 00:00:00' AND '2014-12-17 00:00:00')

您可以在
date1
date2

data = Book.where(e_release_date: Date.parse(params[:date1])..Date.parse(params[:date2]))
它将为您提供日期
2014-10-17
2014-12-17

SELECT * FROM books WHERE (books.e_release_date BETWEEN '2014-10-17 00:00:00' AND '2014-12-17 00:00:00')

如果我使用@books=Book,这很奇怪。where(:e_release_date=>20141217)那么它可以工作,但是你的不起作用。有什么遗漏吗?好的,我工作了,日期正好在错误的顺序:-)这很奇怪,如果我使用@books=Book。where(:e_release_date=>20141217)那么它可以工作,但是你的不起作用。有什么遗漏吗?好的,我工作过,日期的顺序不对:-)