2017-02-10 11 views
0

반송파 및 안개 젬을 사용하여 S3에 이미지를 업로드합니다. 그것은 localhost : 3000에서 할 때 잘 작동합니다. 그러나 영웅에게 배포 한 후 이미지를 업로드하려고하면 "뭔가 잘못되었습니다"라는 메시지가 나타납니다. 이미지를 업로드하지 않고 동일한 게시물을 만드는 경우 다른 모든 게시물은 정상적으로 게시됩니다.S3에 안개로 업로드하면 로컬 호스트에서 작동하지만 영웅에게는 작동하지 않습니다.

다시 말하지만 로컬에서 이미지를 업로드하면 S3에서 내 버킷으로 곧바로 이동합니다. 왜 내가 영웅과 같은 행동을 할 때 똑같은 일이 일어나지 않느냐 ??

나는 모든 마이그레이션을 수행했고, 안개가있는 보석을 추가하려고했습니다 (aws가 문제가 아니더라도, heroku는 그렇습니다). 도와주세요! 여기 products_controller.rb

def update 
    @product.category_id = params[:category_id] 

    respond_to do |format| 
     if @product.update(product_params) 
     format.html { redirect_to @product, notice: 'Product was successfully updated.' } 
     format.json { render :show, status: :ok, location: @product } 
     else 
     format.html { render :edit } 
     format.json { render json: @product.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

:(

그냥 오류는 Heroku가 로그입니다.

2017-02-10T06:21:48.471592+00:00 app[web.1]: I, [2017-02-10T06:21:48.471528 #4] INFO -- : [4cc29852-5ad1-446c-8589-4d67bb97f2cc] Completed 500 Internal Server Error in 614ms (ActiveRecord: 9.3ms) 
2017-02-10T06:21:48.472558+00:00 app[web.1]: F, [2017-02-10T06:21:48.472497 #4] FATAL -- : [4cc29852-5ad1-446c-8589-4d67bb97f2cc] Excon::Error::Forbidden (Expected(200) <=> Actual(403 Forbidden) 
2017-02-10T06:21:48.472560+00:00 app[web.1]: excon.error.response 
2017-02-10T06:21:48.472562+00:00 app[web.1]: :body   => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AllAccessDisabled</Code><Message>All access to this object has been disabled</Message><RequestId>EB063C36E37005DB</RequestId><HostId>6J4nl+P2RoUKEg1D23Fb3dxokR0I5piyBK3/3wYVRmyGzyFxzFseVmTUoZ6GpMFMUiEVQSH2GVA=</HostId></Error>" 
+0

내가 밤새 적극적이 확인 될 것입니다 설정 -e 생산, 그래서 – Nick

+0

를 게시해야 코드가 있다면 알려 당신을 수 있도록 :

$의 피가로에게 Heroku : 내가 할 필요가 모든이를 입력했다 heroku 로그를 확인하고 오류를 게시하십시오. –

+0

'app/controllers/products_controller.rb'에'update' 액션 코드를 게시 해주십시오. –

답변

0

나는 (내 carrierwave.rb에서이 라인을 가지고 있지 않은 경우 안개

config.cache_dir = "# {Rails.root}/tmp를/업로드"

: 나는 그것이 필요하다고 생각하지 않지만 자격 증명)입니다

궁극적 인 문제는 AWS 신임 정보를 영웅에게 알리기 위해 터미널에서 중요한 figaro 명령을 실행 한 적이 결코 없었습니다. 나는 그것을 개별적으로 다른 방법으로 해왔지만 분명히 충분하지 못했다. BTW