2010-05-20 2 views
4

내 Ruby on Rails 애플리케이션을 터널링하기 위해 facebooker를 설정했습니다.stylesheet_link_tag 상대방 대신 절대 링크 생성

문제는 로컬에서 테스트하고 싶다는 것입니다. 다시 말해서, 나는 변화를보고 싶을 때마다 터널을 시작하지 않아도되고 싶지 않다. 지금

, 내가 (사전 rake facebooker:tunnel:background_start를 호출하지 않음) ruby script/server를 사용하여 응용 프로그램, 헬퍼에 의해 생성 링크를 시작할 때 (예를 들어, stylesheet_link_tag, javascript_include_tag, IMAGE_TAG는) 내 tunnlr 주소 앞에 추가됩니다 http://web1.tunnlr.com:myPort/. 예를 들어 CSS 링크는 페이지 소스 인 http://web1.tunnlr.com:myPort//stylesheets/appName.css?1234567890과 같습니다.

해당 기능을 원하지 않습니다. 먼저 터널을 시작하지 않아도 CSS 또는 JavaScript 변경 사항을 볼 수 없습니다. 링크가 절대적이지 않고 상대적인 관계가되기를 바랍니다. 따라서 stylesheet_link_tag/stylesheets/appName.css?1234567890이어야합니다.

왜 사람이 처음에 그 일을하는지, 어떻게 고쳐야하는지 알고 있습니까?

미리 감사드립니다.

답변

13

AssetTagHelper는 asset_host URL을 사용합니다. 나는 (내가 facebooker에 대해 잘 모르는) 당신을 위해 그것을 설정하는 것입니다 facebooker 있는지 잘 모르겠지만, 당신은 당신의 관점에서 문제를 재설정 할 수 있습니다 : 당신의 stylesheet_link_tab 단지 우선 호스트 URL 전에

:

ActionController::Base.asset_host = "localhost:3000" 
# or 
ActionController::Base.asset_host = "" 

은 그래서 다음과 같을 수 ERB를 사용하여 :

<% ActionController::Base.asset_host = "" %> 
<%= stylesheet_link_tag "stylesheet.css" %> 

Walabing을!

+2

설정을 config/environments/development.rb에 두는 것이 좋습니다 –

+0

+1 컨텍스트에 따라'ActionController :: Base.asset_host = root_url [0 ..-2]'(' [0 ..- 2]'후행 슬래시를 지우려면) – zelanix