2013-01-06 6 views
14

Używam Heroku i S3 z moją aplikacją Rails. Mam tylko klejnot mgły zainstalowany w trybie produkcyjnym, ponieważ mój komputer lokalny jest kawałkiem śmieci. W każdym razie działa to w ten sposób i okazało się, że jest to lepsze rozwiązanie niż wyciąganie włosów, aby zainstalować lokalnie chmurę, ale teraz muszę zmienić plik Uploadera, aby użyć localhost, a następnie przełączyć go z powrotem, aby zobowiązać się.Jak korzystać z mgły z nośnikiemWave tylko w produkcji

Byłoby miło móc używać pliku lokalnie, a następnie zamglić w trybie produkcyjnym bez ręcznego przełączania się w przód iw tył. Czy ktoś ma jakieś sugestie, jak to zrobić?

Dziękuję bardzo z góry.

Odpowiedz

47

To całkiem proste. Musisz zdefiniować go w pliku konfiguracyjnym. Ale nie określaj pamięci w swoich modelach, ponieważ może to przesłonić ustawienia z pliku konfiguracyjnego.

# sample config/initializers/carrierwave.rb 
CarrierWave.configure do |config| 

    if Rails.env.development? || Rails.env.test? 
    config.storage = :file 
    else 
    config.fog_credentials = { 
     :provider    => 'AWS', 
     :aws_access_key_id  => 'some_access_key_id', 
     :aws_secret_access_key => 'some_secret_key', 
     :region     => 'eu-west-1' 
    } 
    config.storage = :fog 
    config.fog_directory = 'bucket_name' 
    end 
end 
+2

Zapomniałem podziękować wczoraj. Pracował jak urok. – spitfire109

+0

Proszę oznaczyć pytanie jako rozwiązane. – Fa11enAngel

+0

W aktualnej wersji carrierwave musisz wstawić 'config.storage' AFTER' config.fog_credentials' – joseramonc