моя проблема следующая. Как я могу присоединить принадлежность к ассоциации из полиморфной модели
Есть ситуация
opinion.rb
class Opinion < ActiveRecord::Base
belongs_to :opinionable, :polymorphic => true
belongs_to :category
end
answer.rb
class Answer < ActiveRecord::Base
has_many :opinions, :as => :opinionable
end
Как я могу сделать следующее
Opinion.joins(: opinionabe).all
он бросит
ArgumentError: вы не можете создать полиморфную принадлежность для соединения без указания полиморфного класса!
Как я могу определить, к какому классу я хочу присоединиться?
Второй вопрос. Как его предварительно загрузить?
Opinion.preload(: opinionable).all
работает отлично. Он будет выполнять запрос для каждого класса в role_to.
Но. если я хочу сделать что-то вроде
Opinion.preload(: opinionable = > : answer_form).all
есть проблема, потому что одна модель имеет эту связь, а вторая - нет. Таким образом, это будет исключение.
Итак, как я могу сделать что-то вроде
Opinion.preload(: answer = > : answer_form,: another_belongs_to_model).all
?
Спасибо, Дэвид!