如何正确使用ActiveRecord none方法?

时间:2013-10-08 15:18:59

标签: ruby-on-rails activerecord ruby-on-rails-4

我的控制器中有以下内容:

@registrations = Registration.where('id > 1000000000')
Event.unarchived.each do |event|
  event.registrations.by_submitted.each do |reg|
    @registrations << reg
  end
end

必须有更好的方法来做到这一点。我尝试用第一行代替:

@registrations = Registration.none

但是当我这样做时,最终的@registrations变量总是会出现零记录。

在这里使用none方法的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

我建议你这样做:

registration_ids = []
Event.unarchived.each do |event|
  registration_ids << event.registrations.by_submitted.pluck(:id)
end
@registrations = Registration.where(id: registration_ids.flatten)