В классе A у меня есть две области: s1 и s2, которые объединяются в таблицу T с использованием одинаковых столбцов соединения:
named_scope :s1 :joins => "JOIN T on T.id = A.t_id", ...some conditions
named_scope :s2 :joins => "JOIN T on T.id = A.t_id", ...some other conditions
Теперь это не получается:
A.s1.s2.all
Ошибка:
ActiveRecord :: StatementInvalid: Mysql :: Ошибка: не уникальная таблица / псевдоним: 'T'
Я ожидал, что Rails проявит смекалку в отношении этих идентичных объединений и просто применит объединение один раз, но это не так. Я мог бы использовать псевдонимы таблиц, но тогда у меня все равно было бы два одинаковых соединения без веской причины.
Я уверен, что должно быть правильное решение для этого?