Estás cargando activamente Books
de la base de datos, por lo que AREL intenta asignar su declaración de selección al modelo. En este caso, asigna la fecha a la borrow_date
atributo y lo convierte en un objeto Date. El formato original que seleccionó ya no es relevante ya que se analizó en un objeto que tiene sus propias reglas para imprimir la fecha.
Su segunda selección funciona ya que probablemente no haya ningún atributo de ese nombre en su Book
modelo, por lo que no se puede asignar a un tipo específico, así que simple String
se utiliza.
Simplemente podría agregar una función como formatted_borrow_date
a su modelo o use un asistente para que formatee el borrow_date
usando métodos Ruby para evitar el SQL codificado y el formato de fecha.