@justed_ss
ewf

Как составить joins запрос в rails для полиморфных связей?

Есть модели
class Entry< ActiveRecord::Base
  belongs_to :record, polymorphic: true
end


class EntrySpecial< ActiveRecord::Base
  has_one :entry, as: :record
end


Никак не могу составить joins запрос, который выбирал бы те Entry, которые удовлетворяют определенным условиям, ссылаются именно на EntrySpecial, и у которых EntrySpecial обладает определенными свойствами

Ruby 2.0 Rails 414
  • Вопрос задан
  • 237 просмотров
Пригласить эксперта
Ответы на вопрос 2
@justed_ss Автор вопроса
ewf
немного решил проблему через
class Entry< ActiveRecord::Base
  belongs_to :record, polymorphic: true
  belongs_to :entry_special, foregin_key: 'record_id'
end

После чего стало можно составить "классический" join через activerecord

Но выглядит костыльно.
Ответ написан
Комментировать
@vanderv
Ruby on Rails
Рекомендую использовать gem squeel
Делается так: Entry.joins { record(EntrySpecial) }
И дальше можешь включать условия выборки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы