जब मेरे पास id की तरह है, जैसे
ids = [2,3,5]
और मैं प्रदर्शन करता हूं
Comment.find(ids)
सब कुछ ठीक काम करता है। लेकिन जब कोई ऐसी आईडी होती है जो मौजूद नहीं होती है, तो मुझे एक अपवाद मिलता है। यह सामान्य तब होता है जब मुझे कुछ फ़िल्टर से मेल खाने वाली आईडी की सूची मिलती है और जैसे मैं कुछ करता हूं
current_user.comments.find(ids)
इस बार मेरे पास एक मान्य टिप्पणी आईडी हो सकती है, जो हालांकि दिए गए उपयोगकर्ता की नहीं है, इसलिए यह नहीं मिली है और मुझे इसका अपवाद नहीं मिला है।
मैंने कोशिश की है find(:all, ids)
, लेकिन यह सारे रिकॉर्ड लौटाता है।
एकमात्र तरीका यह कर सकता हूं कि वह अब है
current_user.comments.select { |c| ids.include?(c.id) }
लेकिन यह मुझे सुपर अकुशल समाधान की तरह लगता है।
क्या गैर-मौजूदा रिकॉर्ड पर अपवाद प्राप्त किए बिना ऐरे में आईडी का चयन करने का बेहतर तरीका है ?