Skonfiguruj środowisko do korzystania z systemu plików lokalnie i Amazon Na Heroku

Nie jestem pewien jak skonfigurować środowisko tak, aby Carrier Wave korzystał z lokalnego magazynu plików podczas uruchamiania aplikacji lokalnie (development) I s3 po załadowaniu do heroku (production)

In Development storage: file

W magazynie produkcyjnym: s3

Author: user663778, 2011-03-20

3 answers

Albo model, albo można ustawić go globalnie. Zobacz readme dla wersji 0.5.2 (obecny gem) na https://github.com/jnicklas/carrierwave/tree/v0.5.2

Na dole znajdują się instrukcje konfiguracji środowiska testowego. Użyj tego samego podejścia, aby użyć różnych konfiguracji dla "rozwoju" i "produkcji", np. Dodaj plik " carrierwave.rb " do "config/initializers" i dodać kod konfiguracji

if Rails.env.test? or Rails.env.cucumber?
  CarrierWave.configure do |config|
    config.storage = :file
    config.enable_processing = false
  end
end

I dla rozwoju

if Rails.env.development?
  CarrierWave.configure do |config|
    config.storage = :file
  end
end

Oraz produkcja

if Rails.env.production?
  CarrierWave.configure do |config|
    config.storage = :s3
  end
end
 23
Author: juwalter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-20 21:05:14

Najprostszym sposobem, który zwykle robię, jest Uploader.

class CoverUploader < CarrierWave::Uploader::Base
  # Choose what kind of storage to use for this uploader:
  storage (Rails.env.production? ? :fog : :file)
end
 7
Author: Jason Torres,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-05 01:03:25

Zgaduję, że to jest ustawione w modelu gdzieś. Możesz zrobić coś takiego

if Rails.env.production?
  // set production
else
  // set dev / test
end
 1
Author: Dogbert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-20 20:06:09