Задать вопрос
@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
  • Вопрос задан
  • 239 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
  • Хороший программист
    Интенсив по Ruby on Rails
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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) }
И дальше можешь включать условия выборки.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы