2011-10-18 2 views
2

레일 3.1로 업그레이드 중이며/images 디렉토리를/assets의 별칭으로 지정해야합니다. 이것이 가능한가? 그 이유는 내가/이미지에있는 파일에 대한 직접 링크가있는 클라이언트에게 발송 한 이메일을 원하지 않기 때문입니다.레일 3.1 : 에일 리 어스/images/assets 디렉토리

웹 서버 수준에서 가능합니까? 나는 nginx에있다. 난 당신이 그것은 당신의 이미지에 md5hash 문자열을 추가합니다

rake assets:precompile 

을 실행할 때 더 큰 문제가 될 것이라고 생각하지만

답변

7

당신은 nginx를

location /images { 
    alias /usr/share/rails_app/public/assets/images; 
} 

에서이 작업을 수행 할 수 있습니다. 이 해시 문자열은 브라우저가 변경된 이미지를 다운로드하도록 강제하기 때문에 브라우저 캐시를 사용하지 않습니다. 이미지의 이름이 다를 것이기 때문에. nginx를 사용하여 정적 디렉토리에 이전 이미지를 호스팅하는 것이 더 합리적 일 수 있습니다.

+1

(production.rb 파일에서) 자산을 컴파일 할 때 MD5 문제를 해결하려면 해시 생성을 제거 할 수 있습니다 ... "권장"은 아니지만 가능합니다 ... – Hock

+0

Rails 3.1.1에서는 사전 컴파일 작업은 MD5를 사용하거나 사용하지 않고 파일을 생성합니다. assets 폴더에는 장래 헤더를, 이미지 폴더에는 미래 헤더를 설정하십시오. –