Module: CarrierWave::Uploader::Mountable

Included in:
Base
Defined in:
lib/carrierwave/uploader/mountable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#modelObject (readonly)

Returns the value of attribute model.



7
8
9
# File 'lib/carrierwave/uploader/mountable.rb', line 7

def model
  @model
end

#mounted_asObject (readonly)

Returns the value of attribute mounted_as.



7
8
9
# File 'lib/carrierwave/uploader/mountable.rb', line 7

def mounted_as
  @mounted_as
end

Instance Method Details

#initialize(model = nil, mounted_as = nil) ⇒ Object

If a model is given as the first parameter, it will stored in the uploader, and available throught #model. Likewise, mounted_as stores the name of the column where this instance of the uploader is mounted. These values can then be used inside your uploader.

If you do not wish to mount your uploaders with the ORM extensions in -more then you can override this method inside your uploader. Just be sure to call super

Parameters

model (Object)

Any kind of model object

mounted_as (Symbol)

The name of the column where this uploader is mounted

Examples

class MyUploader < CarrierWave::Uploader::Base

  def store_dir
    File.join('public', 'files', mounted_as, model.permalink)
  end
end


32
33
34
35
# File 'lib/carrierwave/uploader/mountable.rb', line 32

def initialize(model=nil, mounted_as=nil)
  @model = model
  @mounted_as = mounted_as
end