У меня следующая структура db (Postgresql) в Rails 5:
class Book < ApplicationRecord
belongs_to :location
end
class Song < ApplicationRecord
belongs_to :location
end
class Location < ApplicationRecord
# position INT
end
class Item < ApplicationRecord
belongs_to :product, polymorphic: true # Book or Song
has_one :location, through: :product
end
# Expected result
Item.includes(product: :location).order('locations.position ASC')
Item.first.location
# Actual result
# ActiveRecord::EagerLoadPolymorphicError (Cannot eagerly load the polymorphic association :product)
Но у меня проблемы с ссылками Местоположение через полиморфизм Продукт . Может быть, я пропустил некоторые варианты и выбрал неправильную структуру БД? Не могли бы вы порекомендовать здесь некоторые обходные пути Rails way, а не raw sql?