rails 3 find()从现在到午夜

ed1*_*d1t 2 activerecord ruby-on-rails-3

我有一个事件模型,其start_at类型为datetime.如何搜索以查找今天是否还有一个事件,所以start_at从现在到午夜.

谢谢

Mis*_*cha 11

在Rails 3中,您现在可以执行此操作:

范围条件

如果您正在查找表内的范围(例如,在特定时间范围内创建的用户),则可以使用与IN SQL语句结合的conditions选项.如果您有两个来自控制器的日期,您可以执行以下操作来查找范围:

Client.where(:created_at => (params[:start_date].to_date)..(params[:end_date].to_date))
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下它将是:

Event.where(:start_at => (Time.zone.now)..(Time.zone.now.end_of_day))
Run Code Online (Sandbox Code Playgroud)

只是测试,它也可以不加上括号Time.zone.nowTime.zone.now.end_of_day.

(来自Rails指南)