2012-11-29 3 views
3

최근에 오래된 앱을 Ruby on Rails 3.2.9로 업그레이드했습니다. 자산 파이프 라인을 가능하게하는 동안, 나는 이런 식으로 만 지문 이미지 파일을로드 할 도우미를 사용할 수 있도록 css.scss.erbcss.scss 파일을 변경 : 이것은 독립형 파일에서 작동ERB가 자산 파이프 라인으로 가져 오지 않음

`background: url(<%= asset_path "wishlist.png" %>)` 

을하지만, css.scss.erb 파일이있는 경우

`Invalid CSS after "...d: url(": expected ")", was "<%= asset_path ..." 

내가이 question에 관한 모든 제안을 시도했지만 앱이 핑거 프린트 파일을로드하는 동안 그들 중 누구도 오류를 피할 수 없다 : screen.css.scss으로 가져올 수, 다음과 같은 오류를 반환합니다.

모든 솔루션? 사전에

감사합니다.

답변

2

문제는 Ruby on Rails Guide to the Asset Pipeline에 제공된 sass-helpers가 밑줄 대신 하이픈을 사용하고 있다는 것이 었습니다. (등등과) image_path 대신 image-path에 모든 변경과이에처럼 잘 작동합니다 :

background: url(image_path("wishlist.png"));

0

그것은 직접적인 해결책이 아니다 그러나 당신이 설명처럼, 당신은 그것에서 제공하는 자산 경로 도우미를 사용할 수 말대꾸 레일을 사용하는 경우

+0

내가 그 시도 한 앱이가 사용하는 이미지가 침입하지 않더라도 지문이 아닌 만약 내가 뭔가 잘못하고있는 것을 보았을 때 나는 다음과 같이이 방법을 구현하고있다 : background : url (asset-path ("wishlist.png" image-path ("wishlist.png"))' –

+0

프로덕션에서만 작동하며,이 모드에서 테스트 해 보셨습니까? – pkubicki

+0

예. 앞에서 말했듯이 앱은 깨지지 않고 '레이크 자산 : 사전 컴파일'이 올바르게 실행되지만 이미지의 비 지문 버전도 계속 사용됩니다. –

0

here이 링크를 탄주는보십시오 : http://guides.rubyonrails.org/asset_pipeline.html

을 또한 보석이 업데이트되었는지 확인해야합니다. 봅니다 위의 작품 중 어느 것도 당신의 개발 ENV에 디버그를 해제하려고하지 않는 경우 (따옴표없이) 당신의 Capfile에

"로드 '/ 자산 전개'"를 추가 : config.assets.debug = 거짓 (할 당신의 환경/development.rb에 해당)

이 어떤 도움이

희망을 배포 할 필요없이보다 자유롭게 코드를 검사하기 위해 시도 할 수 그런 식으로. 문제가 해결되면 결과를 공유하십시오! ;)

+0

시도해 볼 수있는 또 다른 사항은 CSS 용 스프로킷 사용을 중지하는 것입니다. JS에서만 사용하십시오. "require"대신 SASS @ import 문을 사용할 수 있습니다. –

관련 문제