Коли у мене є масив ідентифікаторів, як
ids = [2,3,5]
і я виконую
Comment.find(ids)
все працює добре. Але коли є ідентифікатор, якого не існує, я отримую виняток. Це трапляється в основному, коли я отримую список ідентифікаторів, які відповідають якомусь фільтру, і я роблю щось подібне
current_user.comments.find(ids)
Цього разу у мене може бути дійсний ідентифікатор коментаря, який, однак, не належить даному Користувачеві, тому його не знайдено, і я отримаю виняток.
Я спробував find(:all, ids)
, але він повертає всі записи.
Єдиний спосіб, коли я це можу зробити, це
current_user.comments.select { |c| ids.include?(c.id) }
Але це здається мені надзвичайно неефективним рішенням.
Чи є кращий спосіб вибрати ідентифікатор в масиві без отримання винятку з неіснуючої записи?