Quand j'ai un tableau d'identifiants, comme
ids = [2,3,5]
et je joue
Comment.find(ids)
tout fonctionne bien. Mais quand il y a un identifiant qui n'existe pas, j'obtiens une exception. Cela se produit généralement lorsque j'obtiens une liste d'identifiants qui correspondent à un filtre et que je fais quelque chose comme
current_user.comments.find(ids)
Cette fois, je peux avoir un identifiant de commentaire valide, qui n'appartient cependant pas à l'utilisateur donné, donc il n'est pas trouvé et j'obtiens une exception.
J'ai essayé find(:all, ids)
, mais il renvoie tous les enregistrements.
La seule façon dont je peux le faire maintenant est
current_user.comments.select { |c| ids.include?(c.id) }
Mais cela me semble être une solution super inefficace.
Existe-t-il un meilleur moyen de sélectionner l' ID dans Array sans obtenir une exception sur un enregistrement non existant?