我想讓我的javascript/coffescript文件僅在使用它們的頁面上加載。所以在我的application.html.erb文件我有下面的代碼在我的腦海rails content_for not working
<%= yield :head %>
然後在我想要加載JavaScript我有
<% content_for(:head) do%>
<%= javascript_include_tag 'application' %>
<% end%>
這似乎最初工作的具體看法。當我第一次訪問我不想使用javascript的頁面時,沒有指向js文件的鏈接。但是,一旦我訪問了具有上述代碼塊的頁面,鏈接就會顯示在我訪問的所有後續頁面(例如主頁)中。如果我然後在主頁刷新瀏覽器鏈接消失了...
這本身並不是一個真正的問題,但我也有這在我的application.html.erb頭部分
<style><%= yield :stylesheets %></style>
並且在一些佈局中,有css被放到那裏。這是它變得非常奇怪的地方。比方說,頁面A沒有js,沒有額外的CSS,頁面B沒有js,但有額外的CSS,頁面C同時有js和額外的CSS。那麼,我真德以下列:
Visit page A => everything is fine
Visit page B => everything is fine (additional css is loaded)
visit page A again => everything is fine (additional css is not loaded)
visit page C => everything is fine (additional css and js loaded)
visit page A again => NOT GOOD!!! (additional css and js still loaded)
莫名其妙的JavaScript包括標籤也引起我的content_for(:樣式表)的東西繼續存在甚至儘管我不希望它。如果我做一個手動刷新頁面上的everythign追溯到恢復正常,直到我訪問頁面C.我甚至試圖把這個在我的頁面視圖擺脫的聯繫,仍然沒有很好的
<% content_for(:head) do%>
<% end%>
有任何想法嗎?
您是否啓用了Turbolinks? –
是的,我認爲默認情況下它是正確的? – jhlu87