есть следующий код:
category = Category.where(slug: params[:category]).first
result = Slide.where(category_id: category.id)
необходимо выбрать некие экземпляры моделей используя значение внешнего ключа родительской таблицы или другими словами модели которой она принадлежит, belongs_to . Модель Category выбирается использую url parameter и затем её id исползуется в качестве значения внешнего ключа для выбора экземпляром моделей Slide.
в SQL тех же результатов я добился следующим образом
SELECT *
FROM
slides AS sl
INNER JOIN
categories AS ct
ON
sl.category_id = ct.id
WHERE ct.slug = 'home-work';
или таким способом
SELECT *
FROM slides
WHERE category_id IN (SELECT id FROM categories WHERE slug = 'home-work');
2ой вариант ближе по-сути к тому что происходит в Ruby коде выше.
можно ли как-ть оптимизировать Ruby код для выборки нужных Slide чтобы он на стороне SQL выполнялся как один запрос а не два отдельных?