У меня возникают трудности с использованием несущей волны вместе с mongoid. Я пишу приложение, которое требует, чтобы изображения хранились в нескольких коллекциях, поэтому я создал класс Image следующим образом (извините за использование imageable):
class Image
include Mongoid::Document
embedded_in :imageable, polymorphic: true
mount_uploader :file, ImageUploader
end
ImageUploader
создан rails generate uploader Image
.
Тогда у меня есть модель истории:
class Story
include Mongoid::Document
include Mongoid::Timestamps
field :title, :type => String
field :content, :type => String
field :category, :type => String
embeds_many :blog_images, as: :imageable
end
Когда я пытаюсь создать объект Story
, я получаю сообщение об ошибке uninitialized constant BlogImage
, даже если я не добавляю изображение через форму. Я также пытался в консоли вызвать story.blog_images << Image.new
с той же ошибкой.
В моем файле gem у меня есть:
gem 'carrierwave'
gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
Мои версии Mongoid - 2.4.7 и Carrierwave - 0.6.2.
Мой главный вопрос заключается в том, как исправить эту ошибку, но я также не слишком уверен в том, как настроить форму для получения этих изображений. (В идеале я хотел бы использовать javascript для добавления нового диалогового окна каждый раз, когда выбирается файл.) Что-то не так с тем, как я настроил свои модели или использую несущую волну?