Skip to content

CarrierWave and multiple databases

revis0r edited this page May 13, 2012 · 5 revisions

If you are use multiple databases in your Rails application, it's important to save files in different directories, for example named like subdomains. This is my example solution:

ApplicationController.rb

def override_db
  ...
  redifine_uploaders_store_dir
end

def redifine_uploaders_store_dir
  FileUploader.class_eval <<-RUBY, __FILE__, __LINE__+1
    def store_dir
      "uploads/#{@current_subdomain}/\#{model.class.to_s.underscore}/\#{mounted_as}/\#{model.id}"
    end
  RUBY
end

Clone this wiki locally