Wenn ich eine Reihe von IDs habe, wie
ids = [2,3,5]
und ich trete auf
Comment.find(ids)
alles funktioniert gut. Aber wenn es eine ID gibt, die nicht existiert, bekomme ich eine Ausnahme. Dies tritt im Allgemeinen auf, wenn ich eine Liste von IDs erhalte, die mit einem Filter übereinstimmen, und dann so etwas mache
current_user.comments.find(ids)
Dieses Mal habe ich möglicherweise eine gültige Kommentar-ID, die jedoch nicht dem angegebenen Benutzer gehört, sodass sie nicht gefunden wird und ich eine Ausnahme erhalte.
Ich habe es versucht find(:all, ids)
, aber es werden alle Datensätze zurückgegeben.
Ich kann es jetzt nur noch tun
current_user.comments.select { |c| ids.include?(c.id) }
Aber das scheint mir eine super ineffiziente Lösung zu sein.
Gibt es eine bessere Möglichkeit, die ID im Array auszuwählen, ohne eine Ausnahme für nicht vorhandene Datensätze zu erhalten?