编辑 Capistrano 3:Capistrano 3 使用 linked_dirs 设置并且不再指定 public/system 作为默认设置.set :linked_dirs, fetch(:linked_dirs) + %w{public/system public/uploads}I'm using rails 3.2 with asset and carrierwave for upload some images, they store in /public/uploads/photo/.....but when I do a cap:deploy (with capistrano) my current directory application doesn't contain the files I uploaded, because capistrano make a new version ....=== Update ===After all I use this :inside :deploy namespace task :symlink_uploads do run "ln -nfs #{shared_path}/uploads #{release_path}/public/uploads" endand after: after 'deploy:update_code', 'deploy:symlink_uploads'=== Re Update ===The solution of @tristanm is the best way to solve this. 解决方案 How about this:# config/deploy.rbset :shared_children, shared_children + %w{public/uploads}:shared_children defaults to %w(public/system log tmp/pids) so we're just expanding this list.EDIT:Don't forget to run cap deploy:setup after changing :shared_children so that the new targets are created under shared.EDIT Capistrano 3:Capistrano 3 uses the linked_dirs setting and doesn't specify public/system as a default anymore.set :linked_dirs, fetch(:linked_dirs) + %w{public/system public/uploads} 这篇关于带有 Capistrano 的 Carrierwave 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-04 01:43
查看更多