2013-04-09 1 views
1

나는 이것이 광범위한 질문이라는 것을 알고 있으며, 나는 처음으로 씹을 수있는 것보다 조금 더 물어 뜯고 있습니다. 레일 앱에 찔러 넣으십시오.하지만 여기 있습니다.Carrierwave/Fog가 S3에 파일을 업로드하고 있지만 앱이 여전히 로컬 경로를 사용하여 이미지에 액세스하려고 시도하고 있습니다.

기본 상태 앱에 업로드/자르기 이미지를 추가하려고했습니다. 이미지를 업로드하고 반송파로 자르기 만하면되었지만 안개를 사용하여 S3에 업로드하자 마자 문제가 발생했습니다.

이미지, 그리고 서로 다른 크기의은 잘 S3에 끝나는 것으로 나타하지만, 응용 프로그램은 여전히 ​​"/assets/uploads/entry/image/65/large_IMG_0035.jpg"

로 이미지에 액세스하려고

는 로컬, 그냥 깨진 이미지를 보여 주지만, Heroku가에이 모든 일을 중단

ActionView :: 템플릿 :: 오류 (업로드/항목/이미지/1/large_IMG_0035.jpg 미리 컴파일되지

때문에

heroku 오류가 거기에 있어서는 안되기 때문에 나에게 의미가 있습니다. 앱을 샅샅이 조사했지만 어떤 결과인지 모르겠지만 코드를 게시 할 것입니다. 생각하니? 미리 감사드립니다!

명확한 설명 :

그냥 이미지가 문제 앱이 앱이 자산의 로컬 경로를 사용하는 이미지 URL을

를 표시하려고 어떻게 잘 S3에 업로드 명확히 실제로 업로드하는 S3 경로가 아닙니다.

+0

앱에서 이미지를 어떻게 부르나요? – sevenseacat

+0

'% = image_tag @ entry.image.url (: 대용량), id : "cropbox"%>'는 업로드 직후 자르기 함수에서 호출하는 방법입니다. –

답변

-3

정확히 달성하고 싶은 것이 명확하지 않습니다.
하지만 지금은 내가 가진이 아이디어 :

  1. CDN 자산 호스트를 들어, 당신이 좀 걸릴 수 있습니다 : https://devcenter.heroku.com/articles/cdn-asset-host-rails31

  2. 하면 이미지가 모델 -의 일부가 될하려면 관계, 여기 내 거친 생각이 :
    테이블 경로에 이미지 경로를 넣어. 이에 대한 자세한 내용은 당신이 carrierwave github의 사이트를 검색 할 수 있습니다. 나는이 문제가 당신이보기에 이미지를 액세스하는 방법에 관한 것으로 판단

0

(그것은 많은 문서와 튜토리얼이있다).

다음과 같은 방식으로 필드 아바타에 업 로더를 장착 한 경우

:

<%= image_tag(@user.avatar_url) %> 

는 또한보고 다음을 제안 다음과 같이

class User < ActiveRecord::Base 
    mount_uploader :avatar, AvatarUploader 
end 

당신은 당신의 ERB에 액세스 할 주제에 대한 Railscast.

http://railscasts.com/episodes/253-carrierwave-file-uploads

+0

입력 해 주셔서 감사합니다. 실제로 Railscast와 Pro 계정에 제공되는 것에서 제작되었습니다. 귀하의 솔루션을 사용해 보았지만'class Entry ' –

2

저도 같은 문제가 발생했다. 내 Carrierwave Initializer에서 hosts3.amazonaws.com으로 설정했지만 그 행을 모두 삭제하면 URL이 작동하기 시작했습니다.

문제 해결에 도움이되기를 바랍니다. 몇 시간 동안이 문제가 해결되었습니다.

관련 문제