2011-03-20 2 views

답변

23

같은 모델을 사용하거나 전체적으로 설정할 수 있습니다. v0.5.2 (현재 보석)에 대한 추가 정보는 https://github.com/jnicklas/carrierwave/tree/v0.5.2

에 있습니다. 하단 부근에는 테스트 환경 구성에 대한 몇 가지 지침이 있습니다. "개발"및 "제작"에 대해 서로 다른 구성을 사용하는 동일한 접근 방식을 사용하십시오. "설정/initialisers"에 파일 "carrierwave.rb"를 추가하고 나는 보통 가장 간단한 방법은 설정 코드

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

개발

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

및 생산

if Rails.env.production? 
    CarrierWave.configure do |config| 
    config.storage = :s3 
    end 
end 
+1

파일에서이 코드를 넣으시겠습니까? Development.rb? 나는 그것을 development.rb에 넣었고, 내가 avatar.url에 접근하려고 시도 할 때 Symbol을 Integer로 변환 할 수 없다는 에러 메시지를 받는다? – user663778

+2

"config/initializers/carrierwave.rb"(새 파일 만들기)에 넣을 것입니다. – juwalter

1

S3 나는이 어딘가에 모델에 설정되어 같은데요.

if Rails.env.production? 
    // set production 
else 
    // set dev/test 
end 
+0

감사합니다. 이 코드를 initialize 메서드에 추가해야합니까? – user663778

7

에 대한 추가 업 로더를 통해 이루어집니다.

class CoverUploader < CarrierWave::Uploader::Base 
    # Choose what kind of storage to use for this uploader: 
    storage (Rails.env.production? ? :fog : :file) 
end 
+0

간결한 하나의 라이너를 가져 주셔서 감사합니다. 이것은 환경을 기반으로 한 스토리지 결정을 내리는 더 나은 곳 (업 로더)입니다. 제 경우에는 업 로더 중 한 명만 구별해야했습니다. –

관련 문제