我正在ROR5上構建一個Web應用程序,並且佈局/設計全部完成,CSS/JS文件已完成。但是,當我打開應用程序,點擊一個鏈接,瀏覽網站,CSS無法加載。更具體地說,CSS全部搞砸了。例如,假設我從'首頁' - >'頁面A',然後如果我再次退格到'首頁'(或點擊徽標導航到'主頁'),則'主頁'頁面將會混亂。只有當我刷新的頁面,我纔會得到正確的顯示。Ruby on Rails與Turbolinks的CSS/JS錯誤
起初我還以爲這是一個緩存的問題,但很快就發現,這條線是造成問題:
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
當我刪除這條線,顯示問題已經不再存在。但是,所有JS效果/基於JS的插件都無法工作。我有一個文本編輯器,幾個jQuery動畫和標籤導航,當我刪除該行時,這些都不起作用。 +當然,我並不是簡單地刪除該行,而是試着簡單地禁用turbolinks: <%= javascript_include_tag'application'%> 並從我的Gemfile中刪除turbolinks。這也沒有奏效。
我的Gemfile包括: 寶石 'turbolinks', '〜> 5' 寶石 '咖啡軌', '〜> 4.2' 寶石 'jQuery的軌道'
,其餘寶石我前端的所有標準寶石(bootstrap,SASS,字體真棒等)。
我的application.js看起來是這樣的:
//= require rails-ujs
//= require jquery
//= require jquery_ujs
//= require tinymce
//= require turbolinks
//= require bootstrap-sprockets
//= require_tree .
以供參考,我application.html.erb包含一個類似如下:
<head>
<title>..</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= stylesheet_link_tag params[:controller] %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Adobe Typekit Scripts -->
<script src="https://use.typekit.net/ovy4zfg.js"></script>
<script>try{Typekit.load({ async: true });}catch(e){}</script>
</head>
可能是什麼問題?謝謝。
謝謝!我有很多樣式的工作,所以我使用了替代方法,並添加了data-turbolinks-track =「reload」到我的CSS鏈接標籤,完美地完成了這項工作! :) – sofarsophie