キャリアウェーブを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を使用して新しいダイアログを追加したいと思います。)モデルの設定方法またはcarrierwaveの使用方法に問題がありますか?