Я согласен с @kishie, поскольку продукт является полиморфным, он может быть связан с несколькими моделями, вам нужно иметь два столбца в таблице продуктов, чтобы определить модель, с которой связан экземпляр. imageable_id
и imageable_type
.
Я уверен, что у вас есть это в вашей папке lib.
lib/imageable.rb
module Imageable
def self.included(base)
base.class_eval do
has_many :products, :as => imageable
end
end
end
Так как, я предполагаю, что вы используете Rails 3, содержимое папки lib не загружается автоматически. Вы должны иметь это в своем application.rb
config.autoload_paths += %W(#{config.root}/lib)
Добавьте поля, перенесите, отредактируйте файл application.rb, и вы получите полиморфные ассоциации.