2013-03-11 1 views
2

2.3에서 3.2로 레일즈 앱을 업그레이드하는 중입니다. 클립에 문제가 있습니다. 내 응용 프로그램이 이전에 종이 클립 v2.3.5를 사용하고 있었고 이제는 클립 3.0.3.1과 함께 3.0.20 레일을 사용하고 있습니다.Paperclip 2.3.5에서 3.3.1로 인해 경로가 URL과 다를 수 있습니다.

S3에 아바타를 업로드하려고하면 문제가 발생합니다. S3로 보내기 전에 클립이 경로를 벗어나는 것처럼 보입니다. 그러나 특정 스타일의 URL을 요청하면 URL에서 경로의 이스케이프 처리되지 않은 버전이 사용되며 S3에서 'NoSuchKey'오류가 발생합니다 (

http://my-bucket.s3.amazonaws.com/folder/123/thumbnail.png?123456789 



: 내 모델에서 찾을 수없는 404)

나는



Paperclip.interpolates :last_modified do |attachment, style| 
    attachment.instance.updated_at.to_i 
end 

:path => "folder/:id/:style.:extension?:last_modified", 
:url => ":s3_domain_url", 
그래서 내 응용 프로그램의 이전 버전처럼 S3에서 URL을 사용했다가하지만 지금은 내가 아바타를 업로드 할 때마다이, S3는이 같은 URL을 저장합니다 :

http://my-bucket.s3.amazonaws.com/folder/123/thumbnail.png%3F123456789 

썸네일 스타일의 URL에 대한 내 모델 요청을 반환합니다

http://my-bucket.s3.amazonaws.com/folder/123/thumbnail.png?123456789 

하는 S3 수 ' 찾는다.



나는 그것이 문제를 해결하기 쉬운 것으로 보인다 알고 있지만, 나의 주요 관심사는 생산 응용 프로그램은 섬세한 작업을 많은 사진과 함께 사용자의 많은 자신의 모든 이미지를 업데이트입니다 가지고 있으며, 수동으로 탈출 물음표는 해결책이 아닙니다.

답변

3

나는 과 비슷한 인 문제를 해결하는 방법을 알아 냈습니다. 새로운 escape_url 옵션이 있습니다. 어쩌면 그걸 false으로 돌리시겠습니까?

:path => "folder/:id/:style.:extension?:last_modified", 
:url => ":s3_domain_url", 
:escape_url => false 
+0

정답으로 표시해야합니다! 고맙습니다. – soutoner

관련 문제