繁体   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