Anda secara aktif memuat Books dari database, jadi AREL mencoba memetakan pernyataan pilihan Anda ke model. Dalam hal ini, ini memetakan tanggal ke borrow_date atribut dan mengubahnya menjadi objek Tanggal. Pemformatan asli yang Anda pilih kemudian tidak lagi relevan karena diurai ke objek yang memiliki aturannya sendiri untuk mencetak tanggal.
Pilihan kedua Anda berfungsi karena mungkin tidak ada atribut nama itu di Books . Anda model, sehingga tidak dapat dipetakan ke tipe tertentu, jadi biasa String digunakan.
Anda cukup menambahkan fungsi seperti formatted_borrow_date ke model Anda atau gunakan helper untuk memformat borrow_date menggunakan metode ruby untuk menghindari SQL hardcode dan pemformatan tanggal.