当我有一组ID时,例如
ids = [2,3,5]
我表演
Comment.find(ids)
一切正常。但是,当有不存在的ID时,我会得到一个例外。通常,当我获得与某个过滤器匹配的ID列表时,会发生类似的情况
current_user.comments.find(ids)
这次我可能有一个有效的注释ID,但是该注释ID不属于给定的User,因此找不到该注释,并且出现异常。
我已经尝试过了find(:all, ids)
,但是它返回了所有记录。
我现在能做的唯一方法是
current_user.comments.select { |c| ids.include?(c.id) }
但这对我来说似乎是超级无效的解决方案。
有没有更好的方法来选择数组中的ID,而不会在不存在的记录上获得异常?