gpt4 book ai didi

ruby-on-rails - stylesheet_link_tag 生成绝对链接而不是相对链接

转载 作者:行者123 更新时间:2023-12-04 22:08:47 28 4
gpt4 key购买 nike

我设置了 facebooker 来隧道我的 Ruby on Rails 应用程序。

问题是我想在本地测试。也就是说,我不想每次想看到我的更改时都必须启动隧道。

现在,当我使用 ruby script/server(不预先调用 rake facebooker:tunnel:background_start)启动应用程序时,助手创建的链接(例如 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

有谁知道它为什么首先这样做以及如何解决它?

提前致谢。

最佳答案

AssetTagHelper 使用您的 asset_host URL。我不确定 facebooker 是否为您设置了它(我对 facebooker 了解不多),但是您可以在您的 View 中重新设置它,没问题:

在您的 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" %>

哇!

关于ruby-on-rails - stylesheet_link_tag 生成绝对链接而不是相对链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871304/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com