4

내 응용 프로그램에서 사용하는 jQuery 플러그인이 이미지를 직접 참조하기 때문에 자산 지문을 해제하려고합니다.Rails 3.1 자산 파이프 라인 - Heroku에서 이미지 자산 지문을 끄시겠습니까?

그래서 내 production.rb에 config.assets.digest = false을 설정했지만 지금은 내 이미지 참조가 전혀 작동하지 않습니다. /assets/foo.png은 빈 응답 만 반환합니다.

jQuery 플러그인의 코드를 변경하고 erb 이미지 헬퍼를 추가하고 싶지 않지만 그 밖의 다른 작업을 수행 할 것인지 잘 모르겠습니다. 그리고 솔직히, 이미지에 대한 자산 핑거 프린팅은 가치가있는 것보다 훨씬 더 문제가있는 것처럼 보입니다.

아무도 통찰력을 갖고 있지 않습니까?

감사합니다.

+0

자산을 다시 컴파일 했습니까? '레이크 에셋 : 프리 컴파일 '? – cailinanne

답변

1

ckeditor와 같이 큰 플러그인을 사용하는 경우 유일한 방법은 해당 플러그인을 공용 디렉토리로 이동하는 것입니다.

더 작은 플러그인의 경우 이미지를 올바른 애셋 경로로 이동할 수 있습니다. 예를 들어, 플러그인 폴더 아래에서 images/icon.jpg을 참조하면이 파일을 app/assets/images/plugin_name/icon.png으로 이동 한 다음 <%= asset_tag('plugin_name/icon.png') %>이라는 플러그인에서 참조해야합니다.

파이프 라인의 가치가 있습니다. 프로덕션에서 다이제스트를 사용하지 않으면 자산을 어딘가에 캐시 할 수 있도록 먼 미래의 헤더를 설정하는 것이 아니라 거의 사용하지 않는 것이지요.

다이제스트를 제거 할 때 자산을 사전 컴파일해야 Sprockets에서 장래의 헤더를 처리하지 못하도록해야하며 서버에 헤더가 설정되어 있지 않은지 확인하십시오.

+0

나는 플러그인의 이미지를 공용 디렉토리의 자신의 폴더로 옮겼습니다. 이렇게하면 다른 모든 자산에 대한 요약을 남겨 둘 수 있습니다. 나는 자산 파이프 라인이 CSS와 Javascript에 매우 유용하다고 생각하지만 여전히 이미지에 대한 유용성을 확신하지 못했습니다. –

+1

이미지의 유용성 - 특히 CSS의 이미지 또는 자주 액세스되는 이미지 -은 지문을 얻게되어 미래의 헤더를 설정할 수 있습니다. 모든 페이지에있는 회사 로고나 CSS 배경의 스프라이트로이 작업을 수행하면 이러한 내용이 캐싱됩니다. 빈번한 방문자는 해당 이미지를 로컬 또는 경계 캐시에 액세스하여 다운로드를 저장하고 검색 경험을 빠르게 할 수 있습니다. –

3

누군가가이 목적을 위해 보석을했다 :

https://github.com/spohlenz/digestion

자산 파이프 라인 레일 3.1의 큰 새로운 구성 요소입니다. 그러나 에는 지문 인식 기능이있어 은 파이프 라인에 많은 인기있는 JavaScript 라이브러리 ( TinyMCE, CKEditor 및 FancyZoom을 포함)를 제대로 통합 할 수 없습니다.

이 젬은 자산 파이프 라인을 패치하여 또는 경로에 대한 지문 인식 기능을 사용 중지하여이 라이브러리를 으로 사용할 수 있도록합니다.

+0

오, 좋은 생각입니다. 나는 나중에 이것을 살펴볼 것이다. 감사! –

+0

그 보석의 기능이 Rails에 통합되었습니다. –

+0

@ 리차드 헉 스 : 당신은 자세히 설명 할 수 있습니까? –