簡體   English   中英

Rails-不正確的資產加載

[英]Rails - Incorrect Assets Loading

有時,我會在應用程序中單擊一個鏈接,並且加載的* .css和* .js文件指向錯誤的控制器。 如果刷新頁面,此問題將立即得到解決,但是我不想告訴用戶偶爾可能需要刷新頁面。

這是內容在我的應用程序布局中的加載位置:

= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true
= stylesheet_link_tag params[:controller]
= javascript_include_tag 'application', 'data-turbolinks-track' => true
= javascript_include_tag params[:controller]

在我的assets.rb初始化文件中加載資產的位置

Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'flash')

%w( comments contact_types ensembles favorite_instruments fields gds gigs instuments
rank_members recruit_statuses scores seasons section_notes sections static students
announcements ).each do |controller|
    Rails.application.config.assets.precompile += ["#{controller}.js", "#{controller}.css"]
end

令我感到奇怪的是,有時它可以工作,而有時卻不能。 我假設我在某些頁面加載方面遇到了寶石問題。 我正在使用turbolinksspringquiet_assets 我認為其他任何寶石都無法觸及資產。

TurboLinks截獲請求並僅獲取文檔主體,“無縫”將其替換為DOM。 它不會碰到<head> ,因此,直到完全重新加載頁面並使用適當的<head>提取新文檔后,您的JavaScript才會改變。

TurboLinks(和Rails)假定您將擁有一捆JavaScript,而不是有條件地包含的JavaScript。 您將要么必須沿Rails前進,停止使用許多小清單,要么關閉TurboLinks。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM