当我有一系列 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而不会对不存在的记录产生异常?