2015-05-28 2 views
2

Я только что заметил, что после того, как я переделал приложение для рельсов в производство с cap deploy:migrations, любое изображение, которое я загрузил через мои формы администратора (например, создание отзыва с изображением аватара), что ссылки на изображения теперь разбиты. Изображения кажутся прекрасными, пока я не передислоцирую какой-либо код, что нежелательно, так как я часто меняю коды. Я предполагаю, что это связано с тем, как capistrano создает файловую структуру в «выпусках» для каждого развертывания, но я не уверен, как решить эту проблему.Загруженные Carrierwave Изображения не сохраняются после развертывания Capistrano

Я также не отслеживаю public/uploads с git, так как я не хочу, чтобы поддельный контент, который я использую на localhost, появлялся на производстве.

Итак, перед моим последним кодовым нажатием у меня были все изображения с тех пор, как я только что добавил их. Теперь, после толчка нет изображения:

broken image links

Вот файлы, которые я считаю уместным (дайте мне знать, если есть один, что вам нужно, чтобы увидеть за этим):

avatar_uploader.rb:

class AvatarUploader < CarrierWave::Uploader::Base 
    include CarrierWave::RMagick 
    storage :file 

    def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
    end 

    process :resize_to_fit => [200, 200] 

    def extension_white_list 
    %w(jpg jpeg gif png) 
    end 
end 

ответ

3

По умолчанию, Capistrano ссылки public/system. Так сохраняются изображения, просто изменить

def store_dir 
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
end 

в

def store_dir 
    "system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 
end 
+0

благодаря @hedgesky! – Godzilla74

+0

Добро пожаловать :) – hedgesky

0

Похоже, вы не настроить linked_dirs переменную в вашем deploy.rb (в случае Capistrano 3) или не указать SYM-ссылку на йо ur public/uploads от shared/public/uploads (в случае Capistrano 2).

Без этого все развертывание будет «переопределять» public/uploads.

Here подробная информация.

Смежные вопросы