2013-10-08 69 views
1

我在我的控制下:如何正確使用ActiveRecord none方法?

@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方法的正確方法是什麼?

回答

3

我會建議你做這種方式:

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