heroku에로드 한 후 Carrier Wave에서 로컬 파일 저장소 (개발) 및 s3을 사용할 때 환경을 구성하는 방법을 잘 모르겠습니다. 개발 스토리지)파일 시스템을 로컬로 사용하도록 환경을 구성하고 Heroku의 Amazon을
: 생산 저장에서 파일
:
heroku에로드 한 후 Carrier Wave에서 로컬 파일 저장소 (개발) 및 s3을 사용할 때 환경을 구성하는 방법을 잘 모르겠습니다. 개발 스토리지)파일 시스템을 로컬로 사용하도록 환경을 구성하고 Heroku의 Amazon을
: 생산 저장에서 파일
:
같은 모델을 사용하거나 전체적으로 설정할 수 있습니다. 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
S3 나는이 어딘가에 모델에 설정되어 같은데요.
if Rails.env.production?
// set production
else
// set dev/test
end
감사합니다. 이 코드를 initialize 메서드에 추가해야합니까? – user663778
에 대한 추가 업 로더를 통해 이루어집니다.
class CoverUploader < CarrierWave::Uploader::Base
# Choose what kind of storage to use for this uploader:
storage (Rails.env.production? ? :fog : :file)
end
간결한 하나의 라이너를 가져 주셔서 감사합니다. 이것은 환경을 기반으로 한 스토리지 결정을 내리는 더 나은 곳 (업 로더)입니다. 제 경우에는 업 로더 중 한 명만 구별해야했습니다. –
파일에서이 코드를 넣으시겠습니까? Development.rb? 나는 그것을 development.rb에 넣었고, 내가 avatar.url에 접근하려고 시도 할 때 Symbol을 Integer로 변환 할 수 없다는 에러 메시지를 받는다? – user663778
"config/initializers/carrierwave.rb"(새 파일 만들기)에 넣을 것입니다. – juwalter