2.3.11에서 Rails 3.1 로의 업그레이드를 위해 노력해 왔습니다. 해결해야 할 주요 장애물 중 하나는 자산 파이프 라인으로 변환하는 것입니다. 이 과정에서 나는 CSS를 sass (scss)로 변환하기로 결정했다. 레일즈 3.1에서 파이프 라인을 통해 전달 된 모든 애셋은 프로덕션에서 파일 이름에 추가 된 해시를받습니다. 이 때문에 내 CSS에서 참조 된 모든 이미지는 이제 sass에서 image-path 또는 image-url 도우미를 사용해야합니다. 내 environment.rb 파일에서 내 ENV [ 'RAILS_RELATIVE_URL_ROOT']을 설정했지만 sass asset helper가 relative_url_root를 포함하지 못하는 문제가 있습니다. 그냥 선명도레일 3.1 RAILS_RELATIVE_URL_ROOT/relative_url_root를 포함하지 않는 SASS 자산 도우미
, 레일 3.1에서 relative_url_root를 추가, 내 environment.rb에 파일에 다음 줄을 추가 :
ENV['RAILS_RELATIVE_URL_ROOT'] = '/foo'
내 가상 호스트에 다음 줄을 추가합니다 :
RailsBaseURI /foo
이 전략은 모든 링크 등에서 정상적으로 작동하는 것으로 보입니다. 그것은 제대로 작동하지 않는 것 같은 헛소리의 자산 조력자 일뿐입니다. 어떤 아이디어라도 감사 할 것입니다.
여기에 관련된 질문이 있습니다. 정확히 동일하지는 않지만 하나에 대한 대답은 두 가지 모두를 도울 수 있습니다. http://stackoverflow.com/questions/7293918/broken-precompiled-assets-in-rails-3-1-when-deploying-to-a-sub -uri –
https://github.com/rails/rails/pull/2977 곧 레일의 Sprockets :: RailsHelper :: AssetPaths 클래스에서 수정 될 것입니다. –
Google 직원은 http://stackoverflow.com/questions/7293918/broken-precompiled-assets-in-rails-3-1-when-deploying-to-a-sub-uri/12122877#12122877에서 내 대답을 참조하십시오. –