2017-12-29 8 views

Antwort

1

Versuchen Sie dieses

Activity.where("? BETWEEN starts_at AND ends_at", Time.zone.now) 
1

Sie können einfach tun:

now = Time.now 
Activity.where('starts_at < ? AND ends_at > ?', now, now) 

Sie können auch inklusive Ungleichheit verwenden Operanden, statt (<= und >=)

0

Versuchen Quietschen Juwel, Sie werden es mögen, dann können Sie diese verwenden:

Activity.where{starts_at < Time.now & ends_at > Time.now} 

Oder zweite Option sein kann.

Aktualisiert Im Gegensatz zu einigen ORMs erweitert aktiver Datensatz die Symbolklasse nicht um Methoden, mit denen Ausdrücke anders als Gleichheit auf diese Weise ausgedrückt werden können. Sie müssen nur

Activity.where tun ('< starts_at = AND ends_at> =?', Time.now, Time.now)

Verwandte Themen