Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 同一日期的rails日期范围_Ruby On Rails - Fatal编程技术网

Ruby on rails 同一日期的rails日期范围

Ruby on rails 同一日期的rails日期范围,ruby-on-rails,Ruby On Rails,当用户选择不同的日期时,下面的查询可以正常工作,但当用户选择相同的日期(如2011年3月5日和2011年3月5日)时,它不会返回任何结果。我该怎么办?若用户选择相同的日期,我希望它找到在该日期创建的客户机 Client.where(:created_at => date_from..date_to) 您可以创建一个助手方法: def date_range(from, to) from == to ? from : from..to end Client.where(:created

当用户选择不同的日期时,下面的查询可以正常工作,但当用户选择相同的日期(如2011年3月5日和2011年3月5日)时,它不会返回任何结果。我该怎么办?若用户选择相同的日期,我希望它找到在该日期创建的客户机

Client.where(:created_at => date_from..date_to)

您可以创建一个助手方法:

def date_range(from, to)
  from == to ? from : from..to
end

Client.where(:created_at=>date_range(date_from,date_to))

您可能需要按如下所示修改查询,以在
一天的开始
一天的结束

Client.where(:created_at => date_from.beginning_of_day..date_to.end_of_day)

当我选择相同的日期时,它找不到任何客户。出现问题。如果日期对象随时间一起传递,则可能需要指定一天的开始和结束时间。纳伦的回答说明了这一点。正确。请记住,当将
date\u from
date\u to
转换为时间时,它们将变得相同(例如
2011-07-19 00:00:00
),因此它实际上只捕获在该精确时刻创建的记录,在这种情况下是在午夜。