2013-03-12 4 views
5

क्या कोई मुझे बता सकता है कि क्या एसोसिएशन लोड करना संभव है लेकिन केवल विशिष्ट विशेषताओं को वापस करना संभव है?चयनित गुणों के साथ रेल उत्सुक लोड एसोसिएशन

मैं अपने खातों के साथ कुछ आदेश पुनर्प्राप्त करना चाहता हूं लेकिन केवल खाता नामों की आवश्यकता है।

Order.select([:id, :account_id]).includes(:account).limit(2)

+4

तरह account_name का उपयोग मुझे यकीन है कि संभव है नहीं कर रहा हूँ। हालांकि आप लौटा आदेश रिकॉर्ड में खाता_नाम जोड़ सकते हैं। 'ऑर्डर = ऑर्डर.जेन्क्स (: खाता)। चयन करें ('order.id, order.account_id, accounts.name AS account_name')'। तो बस 'accounts_name' जैसे' order.first.account_name' – jvnill

+0

का उपयोग करें, मैंने अपने Google शोध से यही सोचा है, इसलिए –

उत्तर

5

मुझे लगता है कि jvnill की टिप्पणी यह ​​सब कहते हैं:

मुझे यकीन है कि संभव है नहीं कर रहा हूँ। हालांकि आप लौटा आदेश रिकॉर्ड में खाता_नाम जोड़ सकते हैं।

orders = Order.joins(:account).select('orders.id, orders.account_id, accounts.name AS account_name') 

तो बस orders.first.account_name

+1

पुष्टि के लिए धन्यवाद, मैं इसके बारे में भी उत्सुक हूं। केवल विशिष्ट कॉलम या किसी find_by_sql चाल को लोड करने के लिए उत्सुकता का कोई तरीका नहीं है। – roxxypoxxy

संबंधित मुद्दे