I za każdym wywołaniem, po spojrzeniu do loga za Time.zone.now jest wstawiany ten sam czas - 2009-08-17 11:53:54.033000, a powinien być aktualny, zawsze inny.
SELECT count(*) AS count_all FROM “requests” WHERE ((((expire > ‘2009-08-17 11:53:54.033000’) AND (“requests”.development_id = 77))
Czy te named_scopy są sechowane? Jak rozwiązać problem?
w definicji klasy jest ewaluowane tylko jeden raz (własnie podczas definicji klasy), stąd wartość przekazanego parametru będzie zawsze taka sama. Natomiast podając jako parametr lambdę/proc named_scope zewaluuje go (wywoła) za każdym wywołaniem i dopiero to co on zwróci użyje jako opcje, zatem za każdym razem może dostać inne wartości.