Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 RubyonRails选择日期范围_Ruby On Rails_Ruby_Ruby On Rails 3_Activerecord_Rails Activerecord - Fatal编程技术网

Ruby on rails RubyonRails选择日期范围

Ruby on rails RubyonRails选择日期范围,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,rails-activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,Rails Activerecord,我想让下面的句子起作用 User.all.select{ |user| user.created_at === DateTime.yesterday..DateTime.today } User.all.select{ |user| user.created_at == DateTime.yesterday..DateTime.today } User.all.select{ |user| user.created_at => DateTime.yesterday..DateTime.

我想让下面的句子起作用

User.all.select{ |user| user.created_at === DateTime.yesterday..DateTime.today }

User.all.select{ |user| user.created_at == DateTime.yesterday..DateTime.today }

User.all.select{ |user| user.created_at => DateTime.yesterday..DateTime.today }
这不起作用,并提示范围错误的错误值


我知道有更有效的方法来实现这一点并获得相同的结果,但我对如何获得日期范围的精选作品感兴趣,因为您在Rails 3中,您可以这样做:

range = (DateTime.yesterday..DateTime.now)
User.all.select { |user| range.cover?(user.created_at) }
User.find(:all, :conditions => {:created_at => DateTime.yesterday.. DateTime.today})
但请注意,由于以下原因,这已被弃用:

User.where(:created_at => DateTime.yesterday..DateTime.today)

由于您使用的是Rails 3,因此可以执行以下操作:

User.find(:all, :conditions => {:created_at => DateTime.yesterday.. DateTime.today})
但请注意,由于以下原因,这已被弃用:

User.where(:created_at => DateTime.yesterday..DateTime.today)

非常感谢,但正如我所说的,只是为了“好玩”,想知道如何使用select方法。干杯很公平,但如果你认为这是一种乐趣,你真的应该多出去。谢谢你,但是正如我所说,想要,只是为了“乐趣”,知道如何用选择方法来做。干杯很公平,但是如果这是你认为有趣的事情,你真的应该多出去。请意识到,调用ALL。SELECT将从数据库中检索所有用户,然后从内存中选择它们。很难想象在任何情况下这是一个好主意。@TimScott观察得非常好,但如上所述,这仅用于解释目的,感谢您认识到调用all.select将从数据库中检索所有用户,然后在内存中从其中进行选择。很难想象在任何情况下这是一个好主意。@TimScott非常好的观察结果,但如上所述,这只是为了解释,谢谢