У меня есть то, что, как я подозреваю, является основным вопросом. В моем rails
приложении One user
имеет множество scores
. Есть ли способ получить все оценки активного отношения пользователей. Я могу делать user.scores (очевидно), но если пользователи - группа пользователей, мне нужно сделать что-то вроде users.scores
. Это явно неверно.Rails: Получение всех объектов has_many, связанных с активным отношением родителей
ответ
Вы можете использовать
Score.where(user: users)
Это будет строить SQL LIKE
select * from scores where user_id in (select *.id from users where ..)
Пробовали ли вы следующее?
@users.collect(&:scores).flatten!
Я думаю, что принятый ответ более эффективен. Исправьте меня, если я ошибаюсь – GhostRider
Оба будут создавать тот же базовый 'sql'. Какой из них зависит от вашего сценария и другого контекста. В любом случае, я бы переместил эту логику к модели для проверки и обслуживания. – Dharam
Вы не правы @Dharam, ваш код производит N + 1 запросов. Но его можно было бы улучшить, используя 'includes':' @ users.includes (: score) .collect (&: score) .flatten! '- это будет всего 2 запроса. – MikDiet
- 1. Rails: Просмотр связанных объектов из has_many model
- 2. Rails find_by макросы с отношением has_many
- 3. Rails 4: Соединения с отношением has_many
- 4. Rails: Возвращение всех родителей с существующими ребенка
- 5. ModelAdmin с отношением has_many
- 6. Сохранение связанных объектов в Rails
- 7. Rails 4 - Получение наиболее продаваемых объектов с отношением между
- 8. Rails: сфера от родителей родителей родителей
- 9. has_many через возврат нескольких связанных объектов в Rails 4
- 10. Сохранение объекта с отношением has_many
- 11. Rails 4, has_many через ассоциацию - поиск связанных объектов
- 12. rails has_many undefined метод при создании связанных объектов
- 13. Rails: Найти множество объектов, связанных с
- 14. Найти родителей родителей из набора глубоко вложенных дочерних объектов в Rails 4
- 15. Получение подмножества объектов с отношением многих-многих
- 16. Получение списка ассоциаций из has_many: через вложенное has_many в rails
- 17. Rails 4 has_many nested_attributes для замены всех
- 18. Rails: Поиск всех связанных объектов с родительским объектом
- 19. Найти все объекты без связанных объектов has_many
- 20. эффективный способ подсчета связанных объектов - Rails 4
- 21. Неверный запрос, сгенерированный в Rails 4 с has_many отношением
- 22. Получение последних связанных записей в Rails
- 23. Rails 4: объединение связанных объектов в представлениях
- 24. Получение всех связанных объектов через связанную таблицу. Entity Framework
- 25. Отображение связанных с ними объектов
- 26. Rails - дети нескольких родителей
- 27. CoreData выборки всех объектов, связанных с
- 28. Получение всех объектов, принадлежащих классу
- 29. Django, получение связанных объектов в петле объектов
- 30. Получение has_many через модель с использованием Rails
Хороший человек. Большое спасибо – GhostRider