2012-02-20 2 views
1

사용자 아바타의 문제를 다루기 위해 Paperclip을 사용하여 앱을 설정했습니다. 아마존 s3에 파일을 저장하고 싶습니다.레일 클립 s3 - 잘못된 인수

bucket: sghub  
access_key_id: ### 
secret_access_key: ##### 

: s3.yml 파일이 여기에

has_attached_file :avatar, 
:styles => { :small => "150x150#", :medium => "300x300#" }, 
:storage => :s3, 
:s3_credentials => Rails.root.join('config/s3.yml') 

: 여기

사용자 모델에서 연결 설정입니다 : 내가 여기에 요청하기로 결정 그래서 결국이 문제에 대한 해결책을 찾을 수 없습니다 물론 내 gemfile에 추가했습니다 :

앱이 헤로 쿠에 배포되어 있으므로 오류가 발생합니다.

Errno::EINVAL in UsersController#update 
Invalid argument 

은 또한 그들이 관리에 표시되지 않습니다으로 파일이 S3에 업로드하지 않는 것 같습니다 : 오류 페이지와 같은 것입니다

또한
2012-02-20T07:13:58+00:00 app[web.1]: AWS::S3::PermanentRedirect (The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.) 

개발 모드 : heroku logs 명령에서이 같다 내 양동이에 콘솔. 나는 모든 튜토리얼과 문서 에서처럼 모든 것을 설정하려 했으므로 지금은 거의 모른다. 어떤 아이디어?

답변

0

옵션 :bucket 옵션은 옵션 해시의 :s3_credentials 키 외부에 있어야합니다. 그렇게처럼 보이게 :

has_attached_file :avatar, 
    :styles   => { :small => "150x150#", :medium => "300x300#" }, 
    :storage  => :s3, 
    :s3_credentials => Rails.root.join('config/s3.yml') 
    :bucket   => 'sghub'

을 그리고 여기에

config/s3.yml에서 bucket를 제거하면 문서입니다 : 나는이 문제는 클립 기본적으로 유럽의 아마존 S3 서버의 구성을 생각 http://rubydoc.info/gems/paperclip/Paperclip/Storage/S3

+1

것은 미국 서버입니다 . 그렇지 않으면 당신의 팁은 내가 그것을 발견하는 것을 도왔다. 고마워요! –

관련 문제