यह:
#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]
कॉल करने का परिणाम है inspect
क्वेरी पर और inspect
केवल वे कॉलम प्रदर्शित करेगा जिनके बारे में मॉडल जानता है। मॉडल स्टार्टअप के दौरान स्तंभों के लिए तालिका को क्वेरी करेगा, इसलिए यह केवल उन स्तंभों के बारे में जान पाएगा जो वास्तव में तालिका में हैं।
ActiveRecord method_missing
. का उपयोग करके फ़्लाई पर कॉलम एक्सेसर विधियाँ बनाता है इसलिए यह एक क्वेरी में मेथड्स चीजें बना सकता है जो वास्तविक तालिका में कॉलम नहीं हैं।
तो आपका data
वहाँ है, आपको बस इसे नाम से पूछना है, उदाहरण के लिए:
Model.select(:id, "json_field -> 'data' as data").map(&:data)
आपको data
देगा मान।