Bạn đang tích cực tải Books
từ cơ sở dữ liệu, vì vậy AREL cố gắng ánh xạ câu lệnh lựa chọn của bạn với mô hình. Trong trường hợp này, nó ánh xạ ngày đến borrow_date
và chuyển đổi nó thành một đối tượng Date. Định dạng ban đầu bạn đã chọn sau đó không còn phù hợp nữa vì nó đã được phân tích cú pháp cho một đối tượng có các quy tắc riêng để in ngày.
Lựa chọn thứ hai của bạn hoạt động vì có thể không có thuộc tính nào của tên đó trên Books
của bạn mô hình, vì vậy nó không thể được ánh xạ đến một loại cụ thể, vì vậy String
đơn giản được sử dụng.
Bạn có thể chỉ cần thêm một hàm như formatted_borrow_date
vào mô hình của bạn hoặc sử dụng công cụ trợ giúp để mô hình đó định dạng borrow_date
sử dụng các phương thức ruby để tránh định dạng ngày và SQL được mã hóa cứng.