Rails 3.1 앱 (3.1.0.rc8)의 프로덕션 모드에 배경 이미지가 표시되지 않습니다. 나는 또한 스프로킷 2.0.0과 승객 3.0.8을 사용하고 있습니다.배경 이미지가 Rails 3.1 프로덕션에 표시되지 않습니다.
내 스타일 시트는 .scss이며 background 섹션에 image_tag ('...')를 사용합니다. 배포 할 때 자산을 미리 컴파일하고 있습니다.
내 프로덕션 서버는 하위 URI에 배포 된 응용 프로그램과 함께 Passenger와 함께 Apache2를 사용하고 있습니다. 가상 호스트는 다음과 같이 정의된다
ServerName wibble
DocumentRoot /srv/www
...
RailsBaseURI /myapp
<Directory /srv/www/myapp>
Options -MultiViews
</Directory>
응용 프로그램이 실제로/SRV/응용 프로그램/MyApp를 배포하고 나는/SRV/www /에서의 MyApp에서 심볼릭 링크를 생성 한/SRV/응용 프로그램/MyApp를/전류 /공공의.
스타일 시트가 제대로 제공되고,하지만 난 그것으로 올라오고 로고의 요소를 검사 할 때 :
url("http://wibble/assets/logo-xxx.png")
intead의 :
url("http://wibble/myapp/assets/logo-xxx.png")
사실 나는 URL 등을 변경하는 경우 위의 오페라에서 편집 선언을 사용하면 로고가 올바르게 표시됩니다. 이것은 제가 이미지를 올바르게 참조하고 있으며 올바르게 사전 컴파일되고 있음을 보여줍니다. 실제 스타일 시트가 좋으므로 자산을 올바로 선택해야합니다. RailsBaseURI가 URL 경로를 놓친 것처럼 보인다.
.erb, asset_path, /myapp/logo.png, myapp/logo.png를 사용하여 스타일 시트에서 모든 유형을 시도했지만 아무런 효과가 없습니다. 얇은 서버로 개발 모드에서 모두 잘 작동합니다.
도움이 될 것입니다.
동일한 문제가 있습니다. 나는 당신의 솔루션 2를 테스트 중이며, 이것이 효과가 있기를 바랍니다. 확실하게 yourfile.css.scss를 yourfile.css.erb로 바꿉니 까? – franchez
실제로 솔루션 1을 사용했지만 솔루션 2를 사용하려면 .css를 .erb로 변경하십시오. 일을 멈추게 할 때 스타일 시트가 진부하게 순수한 CSS가 아닌 경우 조심하십시오. 내가 이것을 썼을 때, CSS는 레일 스타일 시트의 표준이었다. –