Các tham số @monday và @friday của bạn bị sai, các tham số này phải thuộc loại "dấu thời gian không có múi giờ" nhưng được tạo dưới dạng số nguyên, hãy xem thông số sai sót. SQLite không có bất kỳ kiểu dữ liệu ngày giờ nào, vì vậy ngày tháng được lưu trữ dưới dạng văn bản hoặc số nguyên (dấu thời gian unix). Đây là lý do tại sao bạn không nhận được thông báo sai trong SQLite.
Đảm bảo rằng bạn tạo các dấu thời gian như '2004-10-19 10:23:54' và bạn sẽ ổn. Một tùy chọn khác có thể là PostgreSQL-function to_timestamp () để chuyển đổi dấu thời gian unix của bạn thành dấu thời gian:
@sent_emails = ContactEmail.all(:conditions => ['date_sent >= to_timestamp(?) and date_sent <= to_timestamp(?)', @monday, @friday])