Rails 3 - Что я делаю не так, прикрепляя полиморфную модель изображения как различные типы изображений для каждой модели? - PullRequest
2 голосов
/ 07 октября 2011

я продолжаю получать ActiveRecord :: UnknownAttributeError:

неизвестный атрибут: imageable_id

код:

модель полиморфного изображения:

class Image < ActiveRecord::Base
  mount_uploader :asset, ImageUploader
  belongs_to :imageable, :polymorphic => true
end

модель, которая пытается полиморфно связать для 2 различных типов изображений:

has_one :image, :as => :imageable, :dependent => :destroy 
accepts_nested_attributes_for :image

has_one :thumbnail, :as => :imageable, :dependent => :destroy 
accepts_nested_attributes_for :thumbnail

действие контроллера, которое пытается построить изображения (первое «build_image» фактически срабатывает, ошибка ссылается на «build_thumbnail»:

def new
  @item = @item_class.new #item is instantiated elsewhere
  @item.build_image #this works
  @item.build_thumbnail #this throws my error "unknown attribute: imageable_id"
end

спасибо!

РЕДАКТИРОВАТЬ ИСПРАВЛЕНО

1 Ответ

1 голос
/ 08 октября 2011

Вам просто нужно добавить параметр: class_name => Image в отношение has_one: thumbnail.(спасибо за проверку меня @Tilo)

...