Aktywnie ładujesz Books
z bazy danych, więc AREL próbuje zmapować twoją instrukcję select do modelu. W tym przypadku mapuje datę na borrow_date
atrybut i konwertuje go na obiekt Date. Wybrane oryginalne formatowanie nie jest już wtedy istotne, ponieważ zostało przeanalizowane do obiektu, który ma własne zasady drukowania daty.
Twój drugi wybór działa, ponieważ prawdopodobnie nie ma atrybutu tej nazwy w Twojej Book
model, więc nie można go zmapować do określonego typu, więc zwykły String
jest używany.
Możesz po prostu dodać funkcję taką jak formatted_borrow_date
do swojego modelu lub użyj helpera, aby sformatować borrow_date
używając metod ruby, aby uniknąć zakodowanego na stałe kodu SQL i formatowania daty.