无法根据created_at工作在日期范围内进行搜索

时间:2015-10-22 15:18:43

标签: ruby-on-rails ruby date activerecord

我正在尝试添加基于从/到日期范围搜索记录的功能。

group by

前五行正常。问题是日期的最后一行。现在的样子,我没有记录。即数据库的记录的日期为2015年10月5日至2015年10月21日的class Search < ActiveRecord::Base has_many :documents # The code below sets up scopes based on the search/input form entries. def search_documents documents = Document.all documents = documents.where("subject like ?", "%#{subject}%") if subject.present? documents = documents.where("body like ?", "%#{text}%") if text.present? documents = documents.joins(:category).where("categories.name like ?", "%#{category}%") if category.present? documents = documents.joins(:author).where("authors.name like ?", "%#{author}%") if author.present? documents = documents.joins(:reviewer).where("reviewers.name like ?", "%#{reviewer}%") if reviewer.present? documents = documents.where("created_at >= ?", "{from_date}") if from_date.present? ,但如果我输入2015年10月15日,即使在该日期之后创建了记录,我也没有记录。

从日期开始,来自带有模型的表单。架构是:

created_at

1 个答案:

答案 0 :(得分:2)

您需要像这样重写代码

documents = documents.where("created_at >= ?", from_date) if from_date.present?