Cuando tengo una variedad de identificadores, como
ids = [2,3,5]
y realizo
Comment.find(ids)
Todo funciona bien. Pero cuando hay una identificación que no existe, obtengo una excepción. Esto ocurre generalmente cuando obtengo una lista de ID que coinciden con algún filtro y luego hago algo como
current_user.comments.find(ids)
Esta vez puedo tener una ID de comentario válida, que sin embargo no pertenece a un Usuario dado, por lo que no se encuentra y obtengo una excepción.
Lo he intentado find(:all, ids)
, pero devuelve todos los registros.
La única forma en que puedo hacerlo ahora es
current_user.comments.select { |c| ids.include?(c.id) }
Pero eso me parece una solución súper ineficiente.
¿Hay una mejor manera de seleccionar ID en la matriz sin obtener una excepción en el registro no existente?