Я не новичок в Rails, но я пока не делал ничего более сложного, чем это, поэтому мне интересно, что поделится более опытный разработчик rails:
У меня есть SQL-запрос, который объединяет около 4 таблиц в один вывод:
SELECT places.id, places.name, places.email, places.website, places.blurb, external_ratings.rating, photos.data_file_name
FROM `scannables`
INNER JOIN places ON scannables.place_id = places.id
INNER JOIN locations ON places.location_id = locations.id
LEFT JOIN external_ratings ON scannables.place_id = external_ratings.place_id
LEFT JOIN photos ON scannables.place_id = photos.place_id
WHERE locations.id = 2474 AND scannables.bookdate BETWEEN '2009-08-29' and date_add('2009-08-29', INTERVAL 4 DAY)
GROUP BY scannables.place_id
HAVING SUM(scannables.available) >= 4
ORDER BY SUM(scannables.available) DESC, external_ratings.rating DESC
У меня есть все взаимосвязи таблиц, определенные в различных моделях, и первоначально он извлекал различные данные только с использованием этих определенных взаимосвязей (с использованием активной записи), и он работал нормально, за исключением основного запроса, самый большой из которых был безбожно медленным. несколько индв. запросы. У меня вопрос, должен ли я сбросить Active Record в этом одном случае и использовать find_by_sql ... или я что-то упустил?
Что такое рельсовый путь?
Спасибо