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非常好的观察结果,但如上所述,这只是为了解释,谢谢