В моем приложении Rails я хочу присоединиться к одной таблице с именованной областью другой таблицы. Есть ли способ сделать это, не переписывая именованную область в чистом SQL для моей инструкции соединения?Использование именных областей в качестве подзапросов в рельсах
В принципе, есть ли способ сделать что-то подобное?
class Foo < ActiveRecord::Base
scope :updated_today, where('updated_at > ?', DateTime.now.prev_day)
end
Bar.joins(Foo.updated_today)
Где Bar.joins генерирует следующий SQL:
SELECT * FROM bars
INNER JOIN
(SELECT * FROM foos WHERE updated_at > 2012-8-9) AS t0
ON bar_id = bars.id
Да, я просто ответил на свой вопрос. Если у кого-то есть лучший способ сделать это, пожалуйста, не стесняйтесь звонить. – Ajedi32
Прекрасно подходит для ответа на ваш собственный вопрос, особенно когда остальные из нас не могут этого сделать ... :) – BaronVonBraun