我设置facebooker来挖掘我的Ruby on Rails应用程序。
问题是我想在本地测试。也就是说,每次我想看到我的更改时,我都不想要启动隧道。
现在,当我使用ruby script/server
启动应用程序(不事先调用rake facebooker:tunnel:background_start
)时,帮助程序创建的链接(例如,stylesheet_link_tag,javascript_include_tag,image_tag)将以我的tunnlr地址作为前缀:{{ 3}}。 (例如,页面源中的CSS链接如下所示:http://web1.tunnlr.com:myPort/。)
我不想要那个功能;我不能在不必先启动隧道的情况下看到我的CSS或JavaScript更改。我希望链接是相对的,而不是绝对的。因此,stylesheet_link_tag
应该生成/stylesheets/appName.css?1234567890
。
有没有人知道它为什么会这样做,以及如何解决它?
提前致谢。
答案 0 :(得分:14)
AssetTagHelper使用您的asset_host
网址。我不确定facebooker
是否为您设置了它(我对facebooker了解不多),但您可以在视图中重置它没问题:
在stylesheet_link_tab
覆盖主机网址之前:
ActionController::Base.asset_host = "localhost:3000"
# or
ActionController::Base.asset_host = ""
所以使用ERB可能看起来像这样:
<% ActionController::Base.asset_host = "" %>
<%= stylesheet_link_tag "stylesheet.css" %>
Walabing!