#ruby-on-rails #ruby-on-rails-3
#ruby-on-rails #ruby-on-rails-3
Вопрос:
@companies = this has lets say 3 but is dynamic in range
@companies.each do |c|
workers = current_user.workers.find_by_company_id(c.id)
end
В конце всего этого я хочу, чтобы workers выглядели так, как будто это был результат одного запроса. Но в этом случае объект должен представлять собой комбинацию из 3 запросов.
Возможно?
Ответ №1:
Это?
workers = current_user.workers.where(:company_id => @companies.map(amp;:id))
Комментарии:
1. Верно, я забыл о map. Спасибо. Мне нравятся элегантные ответы, подобные этому.
Ответ №2:
Rails автоматически сопоставляет идентификаторы для вас:
current_user.workers.find_all_by_company_id(@companies)