次のようなIDの配列がある場合
ids = [2,3,5]
そして私は演奏します
Comment.find(ids)
すべてが正常に動作します。しかし、存在しないIDがあると、例外が発生します。これは一般的に、いくつかのフィルターに一致するIDのリストを取得し、次のような場合に発生します
current_user.comments.find(ids)
今回は有効なコメントIDを持っている可能性がありますが、これは特定のユーザーに属していないため、見つかりませんでした。例外が発生します。
私は試しましたがfind(:all, ids)
、すべてのレコードが返されます。
今私ができる唯一の方法は
current_user.comments.select { |c| ids.include?(c.id) }
しかし、それは私にとって非常に非効率的なソリューションのようです。
存在しないレコードで例外を発生させずに配列でIDを選択するより良い方法はありますか?