查询多条记录时如何避免ActiveRecord :: RecordNotFound异常

rem*_*emi 13 ruby activerecord ruby-on-rails

我有这个代码:

Article.find([1,2,3])
Run Code Online (Sandbox Code Playgroud)

但是数据库中只存在记录12.我得到这个例外:

"ActiveRecord::RecordNotFound (Couldn't find all Offers with IDs (1,2,3) (found 2 results, but was looking for 3))"
Run Code Online (Sandbox Code Playgroud)

有没有办法只获取现有记录而不是例外?

rem*_*emi 22

Article.find_all_by_id([1,2,3]) 是要走的路!

  • 或者`Article.find_by_id(1)`如果你只是在寻找一个 (5认同)

DGM*_*DGM 12

Rails 3+,ruby 1.9+方式:

Article.where(id: [1,2,3])
Run Code Online (Sandbox Code Playgroud)