साथ मैं निम्नलिखित ActiveRecord फोन है:ActiveRecord मौजूद है? संघों
@payment = account.business.payments.find(params[:id])
कौन सा params[:id]
की आईडी के साथ एक payment
के लिए संघों के माध्यम से खोज करता है। हालांकि, यह एक रिकॉर्ड नॉटफाउंड अपवाद फेंकता है।
मैं यह देखने के लिए exists?
पर कॉल करना चाहता हूं कि रिकॉर्ड अपवाद फेंकने से बचने के लिए मौजूद है या नहीं। Payment.exists?(account.business.payments.find(params[:id]))
करना काम नहीं करता है।
मैं Payment.exists?(:id => params[:id])
करके केवल payments
कि belong_to
कि business
, और नहीं सभी भुगतान खोज करना चाहते हैं। ऐसा इसलिए है कि मैं जान सकता हूं कि यह उस विशेष खाते का व्यवसाय है।
मैं यह कैसे कर सकता हूं?
नोट: account
has_one business
और business
has_many payments
।
चूंकि आप एक आईडी की तलाश में हैं, तो आप 'Payment.find (params [: id' का उपयोग नहीं कर सकते ]) 'वास्तव में लंबा रास्ता होने के बजाय? – sircapsalot
@sircapsalot: ओपी सुरक्षा कारणों से दायरे को सीमित करना चाहता है ... – PinnyM
@PinnyM यही कारण है। – darksky