आप सक्रिय रूप से Books
लोड कर रहे हैं डेटाबेस से, इसलिए एआरईएल आपके चयन कथन को मॉडल में मैप करने का प्रयास करता है। इस मामले में, यह दिनांक को borrow_date
. पर मैप करता है विशेषता और इसे दिनांक वस्तु में परिवर्तित करता है। आपके द्वारा चयनित मूल स्वरूपण अब प्रासंगिक नहीं है क्योंकि इसे किसी ऐसे ऑब्जेक्ट के लिए पार्स किया गया था जिसके दिनांक को प्रिंट करने के अपने नियम हैं।
आपका दूसरा चयन काम करता है क्योंकि संभवत:आपके Book
. पर उस नाम की कोई विशेषता नहीं है मॉडल, इसलिए इसे किसी विशिष्ट प्रकार से मैप नहीं किया जा सकता है, इसलिए सादा String
उपयोग किया जाता है।
आप बस formatted_borrow_date
. जैसा कोई फ़ंक्शन जोड़ सकते हैं अपने मॉडल के लिए या किसी सहायक का उपयोग करके इसे borrow_date
. प्रारूपित करने के लिए उपयोग करें हार्डकोडेड SQL और दिनांक स्वरूपण से बचने के लिए रूबी विधियों का उपयोग करना।