У меня есть модель Photo, которая может принадлежать двум другим моделям, и это фиксируется с помощью полиморфной ассоциации:
has_many :photos, :as => photo_container
Я хотел бы обновить временную метку моделей photo_container при создании новой фотографии. Я делаю это с обратным вызовом after_create в модели Photo:
self.photo_container.update_attribute(:updated_at, Time.now)
Поскольку обе мои модели photo_container имеют поле update_attribute, оно должно работать нормально, однако я получаю следующее исключение для соответствующей строки в обратном вызове:
NameError (uninitialized constant Photo::PhotoContainer)
Конечно, все работает нормально, если я проверяю тип photo_container, загружаю модель и меняю метку времени, но она не является чистой / универсальной. Есть идеи?