【发布时间】:2010-11-29 07:59:02
【问题描述】:
当我有一个 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 而不会在不存在的记录上出现异常?
【问题讨论】:
标签: ruby-on-rails activerecord find