This repository has been archived by the owner on Jul 13, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Changing attachment :path
121onto edited this page Mar 7, 2016
·
6 revisions
After changing attachment's :path setting images need to be recreated. You can use the following rake task
# Assuming you had a model like this
#
# class Post
# has_attached_file :image, :path => ":rails_root/public/system/:attachment/:id/:style/:filename"
# end
namespace :paperclip do
desc "Recreate attachments and save them to new destination"
task :move_attachments => :environment do
Post.find_each do |post|
unless post.image_file_name.blank?
filename = Rails.root.join('public', 'system', 'images', post.id.to_s, 'original', post.image_file_name)
if File.exists? filename
puts "Re-saving image attachment #{post.id} - #{filename}"
image = File.new filename
post.image = image
post.save
# if there are multiple styles, you want to recreate them :
post.image.reprocess!
image.close
end
end
end
end
end
Here is a gist for changing the path using a migration. The example uses google cloud storage instead of local storage: