1
我有困难使用载波一起mongoid。我写的是需要将存储在多个集合图像的应用程序,所以我创建了图片类,如下所示(请原谅利用可成像的):无法在mongoid中嵌入多个图像与carrierwave多态图像模型
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 'carrierwave'
gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
我的版本是Mongoid - 2.4.7和carrierwave - 0.6.2。
我的主要问题是如何解决这个错误,但我也不太确定如何设置窗体来接收这些图像。 (理想情况下,我希望使用JavaScript来添加一个新的对话框,每次选择一个文件时)。我设置模型或使用CarrierWave的方式有什么问题吗?
这解决了我描述的问题。此外,我想指出的是,由于[此问题],该行需要读取'embeds_many:blog_images,因为:: imageable,:class_name =>'Image',cascade_callbacks:true'(https://github.com/ jnicklas/carrierwave /问题#问题/ 81) – Baruch