整个应用程序的 Bundler 更新导致了一个非常具体的问题,即<link>
从<%= stylesheet_link_tag 'application', media: 'all'%>
而不是返回通常的<link rel="stylesheet" href="assets/application.css">
,它现在返回<base href="/">
如果我编辑 HTML 以手动添加<link>
,则 css 会正确显示,这表明没有编译器问题。此外,一些解决了类似问题的答案不适用于此特定问题,包括(但不限于)以下解决方案:
# Enable the asset pipeline
config.assets.enabled = true
# Fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = true
# Serve Static Assets.
config.serve_static_files = true
此外,使用rake tmp:cache:clear和rake assets:clean切换 ENV 和清除缓存对问题没有任何影响......
为了让事情变得更奇怪,ember 样式表和脚本按预期工作:
<%= include_ember_stylesheet_tags :frontend %>
<%= include_ember_script_tags :frontend %>
<link rel="stylesheet" href="assets/frontend.css">
<script src="assets/frontend.js"></script>
问题可能与以下宝石之一有关:
- 导轨 (4.2.5)
- 链轮 (3.5.2)
您可以在 Github 上查看完整的Gemfile.lock或整个Source Code。
另一个可能的根本原因是新的路由配置在某种程度上mount_ember_app :frontend, to: "/"
与缺少<link>
返回和<base href="/">
返回有关,因为两者都映射到“/”。但是,我肯定是错的......
这是我能够收集的所有信息,因为我在日志中看不到任何有用的信息,包括浏览器的输出。