I use MongoMapper, CarrierWave and MongoMapper ORM for Carrierwave.
But, CarrierWave not save images and path. I don't know where's problem. In Sub model everything work fine.
Post model (models/post.rb)
require "carrierwave/orm/mongomapper"
class Post
include MongoMapper::Document
before_create :store_user_data
key :name, String
key :username, String
key :description, String
key :thumb, String
many :subs
belongs_to :user
mount_uploader :thumb, IntromgUploader
private
def store_user_data
self.username = self.user.name
end
endMongoMapper ORM for Carrierwave (lib/carrierwave/orm/mongomapper)
# encoding: utf-8
require 'mongo_mapper'
require 'carrierwave/validations/active_model'
module CarrierWave
module MongoMapper
include CarrierWave::Mount
##
# See +CarrierWave::Mount#mount_uploader+ for documentation
#
def mount_uploader(column, uploader, options={}, &block)
options[:mount_on] ||= "#{column}_filename"
key options[:mount_on]
super
alias_method :read_uploader, :read_attribute
alias_method :write_uploader, :write_attribute
include CarrierWave::Validations::ActiveModel
validates_integrity_of column if uploader_option(column.to_sym, :validate_integrity)
validates_processing_of column if uploader_option(column.to_sym, :validate_processing)
after_save "store_#{column}!".to_sym
before_save "write_#{column}_identifier".to_sym
after_destroy "remove_#{column}!".to_sym
end
end
end
MongoMapper::Plugins::Rails::ClassMethods.send(:include, CarrierWave::MongoMapper)Intromg uploader (app/uploaders/intromg_uploader.rb)
require "carrierwave/orm/mongomapper"
class Post
include MongoMapper::Document
before_create :store_user_data
key :name, String
key :username, String
key :description, String
key :thumb, String
many :subs
belongs_to :user
mount_uploader :thumb, IntromgUploader
private
def store_user_data
self.username = self.user.name
end
end