2010-02-19 4 views
2

도움을 미리 감사드립니다.레일즈 stylesheet_link_tag가 잘못된 장소에 연결되었습니다

난 처음으로 내 레일 앱을 멋지게 보이기 위해 노력하고 있으며, 스타일 시트가 작동하는 데 많은 어려움을 겪고 있습니다. 내가 생각

<%= stylesheet_link_tag 'application', 'formtastic', 'formtastic_changes', :cache => "base" %> 

어떤 작업을 모두 수행했는데 내 application.html.erb 레이아웃 파일에서

, 나는 라인을 가지고있다. 그러나 페이지를로드 할 때 스타일 시트가 전혀로드되지 않습니다. 조금 주위를 찌르고 난 후에 나는 문제를 발견했다. 그러나 그것을 foggiest 히 생각하는 방법을 품지 마라!

대신 localhost:3000/stylesheets/application.css

브라우저에서 스타일 시트를로드하는 localhost:3000/myApp/stylesheets/application.css

에서로드하려고 거기 시트를 찾을 수 없습니다 (이 존재하지 않기 때문에 ..)

그래서, 어떻게하면이 문제를 해결할 수 있을까요? 그리고 좀 더 일반적으로 어떤 경로가 마치 localhost:3000/myApp/page처럼 보이고 어떤 모양이 보이는 이유 localhost:3000/page

다시 한번 감사드립니다!

+0

경로를 수정 했습니까? 'rake routes'를 통해 어떤 차이가 있는지 확인하십시오. –

+0

잘 모르겠습니다. 레이크 루트에서 무엇을 찾고 있습니까? –

+0

소스 코드에 대한 링크를 제공 할 수 있습니까? –

답변

1

상대 URL 루트 변수에 문제가있는 것 같습니다. 앱을 확인하고 설정 중인지 확인하십시오. ActionController::Base.relative_url_root 또는 ENV['RAILS_RELATIVE_URL_ROOT']

0
  1. 'myApp'에 대한 언급이 있는지 app config 디렉토리에서 검색하십시오. 거기에 기본 경로 또는 asset_dir 동작을 무시하는 무언가가 있습니다.
  2. :cache => "base"을 인수로 사용해보십시오. 이는 스타일 시트를 함께 concatinate하고 캐시하며 (생산 모드에서) 간섭을 일으킬 수 있습니다.

일반적으로 헬퍼 함수를 ​​사용하여보기에 대한 링크 및 URL을 생성해야합니다. (link_to, url_for, form_for, link_to_remote 등) 이것은 응용 프로그램에서 URL의 일관성을 유지해야합니다.

관련 문제