Carrierwave by default takes in the url generated by store_dir
in the uploader and prepends the path to the public folder of the rails application and stores the files.
For example if
def store_dir
"uploads/#{model.id}"
end
then the file is stored at public/uploads/:attachment_id
If one tries to move the stored files out of the public folder still it saves in the public folder. Does anyone have an idea of how to store the files outside the public folder??
the cleanest way to do this, is by setting the CarrierWave root option
CarrierWave.configure do |config|
config.root = Rails.root
end
then store_dir
will be used inside this root.
I realize this isn't really a current question, but I stumbled on it looking for something else. The answer is simply to use Rails.root, eg:
def store_dir
"#{Rails.root}/private/files/#{model.id}"
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With