Booksを積極的に読み込んでいます データベースから取得するため、ARELはselectステートメントをモデルにマップしようとします。この場合、日付をborrow_dateにマップします 属性を作成し、それをDateオブジェクトに変換します。選択した元のフォーマットは、日付を印刷するための独自のルールを持つオブジェクトに解析されたため、関連性がなくなります。
Bookにはおそらくその名前の属性がないため、2番目の選択は機能します モデルであるため、特定のタイプにマップできないため、プレーンなString 使用されます。
formatted_borrow_dateのような関数を追加するだけです。 モデルに追加するか、ヘルパーを使用してborrow_dateをフォーマットします ハードコードされたSQLと日付のフォーマットを回避するためにrubyメソッドを使用します。