Quando tenho uma variedade de IDs, como
ids = [2,3,5]
e eu executo
Comment.find(ids)
tudo funciona bem. Mas quando existe um ID que não existe, recebo uma exceção. Isso ocorre geralmente quando recebo uma lista de IDs que correspondem a algum filtro e, em seguida, faço algo como
current_user.comments.find(ids)
Desta vez, posso ter um ID de comentário válido, que, no entanto, não pertence ao Usuário especificado, portanto não foi encontrado e recebo uma exceção.
Eu tentei find(:all, ids)
, mas ele retorna todos os registros.
A única maneira de fazer isso agora é
current_user.comments.select { |c| ids.include?(c.id) }
Mas isso me parece uma solução super ineficiente.
Existe uma maneira melhor de selecionar o ID na matriz sem obter exceção no registro inexistente?