styleSheet_link_tag相対ではなく絶対リンクを生成します
-
03-10-2019 - |
質問
Ruby on RailsアプリケーションをトンネルするようにFacebookerを設定しました。
問題は、ローカルでテストしたいということです。つまり、自分の変更を見たいたびにトンネルを開始する必要はありません。
今、私が使用してアプリケーションを開始するとき 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についてあまり知りません)が、あなたはあなたの見解でそれをリセットすることができません:問題ありません:
あなたの前に 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" %>
ワラビング!