2013-10-08 4 views
1

У меня есть следующие в моем контроллере:Как правильно использовать ActiveRecord?

@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) 
Смежные вопросы