问题描述
我想通过注释/取消注释 stylesheet_link_tag
行来加载/卸载 the specific css debugging bulma structures:
# app/view/layouts/application.html.erb
...
<%= stylesheet_link_tag 'application',media: 'all','data-turbolinks-track': 'reload' %>
<%# Bulma %>
<%= stylesheet_link_tag 'https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css',media: 'all' %>
<%# Debugger on/off by comment/uncomment %>
<%# <%= stylesheet_link_tag 'bulma/debug' %> <- this line!
<%= javascript_pack_tag 'application','data-turbolinks-track': 'reload' %>
...
我的样式表目录树是这样的:
app/assets/stylesheets/
├── application.css
├── bulma
│ ├── debug.css
│ └── grid.css
└── posts.scss
但是当我像上面那样注释该行时,css 文件被加载(以及 grid.css)。
我认为 link_directory
只是样式表目录,无法递归加载:
# app/assets/config/manifest.js
//= link_tree ../images
//= link_directory ../stylesheets .css
所有其他配置默认为 Rails 6.1.3。
为什么 app/assets/stylesheets/bulma/debug.css 会自动加载,我该如何禁用它?
解决方法
在您的 application.css 文件中,您可能有这样一行 *= require_tree .
这将自动包含您的 app/assets/stylesheets 目录中的所有内容。
尝试在该行的正下方添加类似 *= stub 'bulma/debug'
的内容。这应该会阻止文件加载。
它目前不在 rails 官方 rails 文档中(根据我所见),但您可以在 on Github 中找到 stub
和相关的 Sprockets 方法。