我有这样的代码:如何避免的ActiveRecord :: RecordNotFound例外查询多个记录时
Article.find([1,2,3])
但只记录和存在于数据库中。我得到这个例外:
"ActiveRecord::RecordNotFound (Couldn't find all Offers with IDs (1,2,3) (found 2 results, but was looking for 3))"
有没有办法只得到现有的记录,而不是例外?
我有这样的代码:如何避免的ActiveRecord :: RecordNotFound例外查询多个记录时
Article.find([1,2,3])
但只记录和存在于数据库中。我得到这个例外:
"ActiveRecord::RecordNotFound (Couldn't find all Offers with IDs (1,2,3) (found 2 results, but was looking for 3))"
有没有办法只得到现有的记录,而不是例外?
Article.find_all_by_id([1,2,3])
是要走的路!
问题是,使用find与id会在记录丢失时引发异常。你可以尝试像
Article.all :conditions => ["id in (?)", [1,2,3]]
使用
find :all
失踪记录不会引发错误
或更简洁
Article.find_all_by_id [1,2,3]
,所以即使记录丢失你很酷。
或'Article.find_by_id(1)'如果你只是在寻找一个 – brittohalloran 2011-11-06 06:26:12
这个现在已过时,见 – Mike 2015-11-30 23:49:53