I PostgreSQL, udtrykket extract(day from time_from) returnerer et tal af typen dobbelt, der repræsenterer dagen i måneden. lørdag er tydeligvis ikke en gyldig dobbelt.
Hvis du har brug for argumentet til where() for at matche strengen 'Saturday' (for at matche ugedagen), så brug to_char() funktion.
user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)
Du skal bruge trim() , fordi denne form for kald til to_char() er polstret til 9 tegn.
Case er vigtig for argumentet 'Dag'. Hvis du indtaster det som 'dag', vil den returnerede værdi ikke matche 'lørdag'. I stedet et udtryk som to_char(time_from, 'day') vil returnere noget som 'lørdag'.