Когда у меня есть массив идентификаторов, например
ids = [2,3,5]
и я исполняю
Comment.find(ids)
все отлично работает. Но когда есть идентификатор, который не существует, я получаю исключение. Обычно это происходит, когда я получаю список идентификаторов, которые соответствуют какому-либо фильтру, а затем я делаю что-то вроде
current_user.comments.find(ids)
На этот раз у меня может быть действительный идентификатор комментария, который, однако, не принадлежит данному пользователю, поэтому он не найден и я получаю исключение.
Я пробовал find(:all, ids)
, но он возвращает все записи.
Единственный способ сделать это сейчас - это
current_user.comments.select { |c| ids.include?(c.id) }
Но мне кажется, что это супер неэффективное решение.
Есть ли лучший способ выбрать ID в массиве без получения исключения для несуществующей записи?