2013-01-06 3 views
14

Heroku와 S3를 Rails 앱과 함께 사용하고 있습니다. 내 로컬 컴퓨터가 쓰레기이기 때문에 생산 모드로 설치 한 안개 전용 보석 만 있습니다. 어쨌든,이 방법으로 잘 작동하고 안개가 로컬에 설치되도록 내 머리카락을 꺼내는 것보다 더 나은 솔루션으로 입증되었습니다. 그러나 이제는 로컬 호스트를 사용하도록 업 로더 파일을 전환 한 다음 다시 커밋하도록 전환해야합니다.Fog with CarrierWave with Production에서만 사용 방법

수동으로 앞뒤로 전환하지 않고 파일을 로컬에서 사용하고 프로덕션 모드에서 안개를 사용하는 것이 좋을 것입니다. 누구든지이 작업을 수행하는 방법에 대한 제안 사항이 있습니까?

미리 감사드립니다.

답변

47

이것은 매우 쉽습니다. 구성 파일에 정의해야합니다. 그러나 설정 파일의 설정을 무시하기 때문에 모델에 저장소를 정의하지 마십시오.

# 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

어제 감사드립니다. 매력처럼 일했습니다. – spitfire109

+0

질문에 해결 된 것으로 표시하십시오. – Fa11enAngel

+0

현재의 carrierwave 버전에서는'config.fog_credentials' 후에'config.storage'를 넣어야합니다 – joseramonc