[英]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
令我感到奇怪的是,有时它可以工作,而有时却不能。 我假设我在某些页面加载方面遇到了宝石问题。 我正在使用turbolinks
, spring
和quiet_assets
。 我认为其他任何宝石都无法触及资产。
TurboLinks截获请求并仅获取文档主体,“无缝”将其替换为DOM。 它不会碰到<head>
,因此,直到完全重新加载页面并使用适当的<head>
提取新文档后,您的JavaScript才会改变。
TurboLinks(和Rails)假定您将拥有一捆JavaScript,而不是有条件地包含的JavaScript。 您将要么必须沿Rails前进,停止使用许多小清单,要么关闭TurboLinks。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.