0

başlangıç ​​ ve sonu adında 2 belirli alana sahip bir modelim var. Onlara ben şimdiki zamanModel kayıtlarını Time.now'a karşı bulun

gibi bir kaç şey denedik başından ve sonu arasında oluşan saklanan değerler

yalnızca kayıtları almak için geçerli tarih (Time.now) karşı kontrol etmek istediğiniz tarihlerdir
Model.all.find_by(start: <Time.now , end: >Time.now) 

Ancak her zaman sözdizimi hatası alıyorum. Bazen ikinci tarihin alan adı (son) bile denetleyicimin içindeki 'son' anahtar kelimeyle karıştırılır. all bu durumda gereksiz arada

Model.where('start < ? and end > ?', Time.now, Time.now) 

:

+0

Yapmanız gereken ilk şey, bitirmek için son sütununuzun adını veya bitiş_sonunu veya bitiş dışında bir şeyi değiştirmek. Son kullanmaya devam ederseniz delilik senin gerçeğin olacak. Find_by'yi kullanarak – Sixty4Bit

cevap

2

Böyle bir şey deneyebilirsiniz.

+0

, aslında komik bir hata döndürür: 'undefinded method each ..'. Ama Model.where ('start < ? and end >?', Time.now, Time.now) mükemmel çalışıyor gibi görünüyor! Teşekkür – Maxence

+1

@Maxence: 'find_by' tek bir nesneyi döndürür,' where' ise bir koleksiyon döndürür. – potashin