Vous êtes en train de charger des Books
de la base de données, AREL essaie donc de mapper votre instruction select sur le modèle. Dans ce cas, il mappe la date sur borrow_date
attribut et le convertit en un objet Date. La mise en forme d'origine que vous avez sélectionnée n'est alors plus pertinente car elle a été analysée dans un objet qui a ses propres règles d'impression de la date.
Votre deuxième sélection fonctionne car il n'y a probablement aucun attribut de ce nom sur votre Book
model, il ne peut donc pas être mappé à un type spécifique, donc String
est utilisé.
Vous pouvez simplement ajouter une fonction comme formatted_borrow_date
à votre modèle ou utilisez un assistant pour qu'il formate le borrow_date
en utilisant des méthodes ruby pour éviter le SQL codé en dur et le formatage de la date.