У меня есть список событий, во время которых люди общаются.Моя цель - собрать все разговоры, которые произошли во время таких событий.
Я попытался запросить каждое событие и добавить их в массив, который я затем попытался сгладить и удалить дубликаты следующим образом:
# this works fine
def event_conv_selector(event)
user_ids = event.participations.pluck(:user_id)
users = ::User.in(id:user_ids)
Conversation.where(:created_at => event.range_for_conversations).in(initiator_profile_id: students.pluck(:id))
end
conversations = []
# RAM can't hold that many conversations, it fails...
Event.each do |event|
conversations << event_conv_selector(event).to_a
end
conversations.flatten.uniq(&:_id)
У меня такой вопрос: есть ли способ запросить и объединить результаты для всех критериев по другим критериям, с которыми я могу справиться, не разрывая свою оперативную память?
Большое спасибо!