เมื่อฉันมีอาร์เรย์ของรหัสเช่น
ids = [2,3,5]
และฉันแสดง
Comment.find(ids)
ทุกอย่างทำงานได้ดี แต่เมื่อมี id ที่ไม่มีอยู่ฉันจะได้รับข้อยกเว้น สิ่งนี้เกิดขึ้นโดยทั่วไปเมื่อฉันได้รับรายการ ID ที่ตรงกับตัวกรองบางตัวและมากกว่าที่ฉันทำ
current_user.comments.find(ids)
คราวนี้ฉันอาจมีรหัสความคิดเห็นที่ถูกต้องซึ่งไม่ได้เป็นของผู้ใช้ที่ระบุดังนั้นจึงไม่พบและฉันได้รับข้อยกเว้น
ฉันได้ลองfind(:all, ids)
แล้ว แต่มันส่งคืนระเบียนทั้งหมด
วิธีเดียวที่ฉันทำได้ตอนนี้คือ
current_user.comments.select { |c| ids.include?(c.id) }
แต่สำหรับฉันดูเหมือนวิธีแก้ปัญหาที่ไม่มีประสิทธิภาพมาก
มีวิธีที่ดีกว่าในการเลือกID ใน Arrayโดยไม่ได้รับข้อยกเว้นในเรกคอร์ดที่ไม่มีอยู่หรือไม่?