gpt4 book ai didi

css - 如何从 `assets.precompile` 中正确删除 Bootstrap CDN 并隔离 Controller 样式表

转载 作者:行者123 更新时间:2023-11-28 00:08:51 24 4
gpt4 key购买 nike

我试图通过编译我的 Assets 并通过 <%= stylesheet_link_tag "application", params[:controller] %> 在我的布局中呈现它们来将我的 CSS 隔离到特定的 Controller 。

我正在使用 Bootstrap (4.3.1) CDN 并将其包含在我的 application.scss 文件中:

@import "bootstrap-sprockets";
@import "bootstrap";

问题是当我做 Rails.application.config.assets.precompile += %w( *.css )它一定是在编译 Bootstrap ,因为它给了我这个错误:

Sass::SyntaxError in RecipeCategories#index

Undefined variable: "$alert-padding".

所以我用它来“解决”它:

Rails.application.config.assets.precompile = [ Proc.new{ |path| !File.extname(path).in?('.css') }, /bootstrap.css$/ ]

我不知道这是否是防止预编译 Bootstrap 的有效或最佳实践。

我还遇到了一个问题,即在一个 Controller 的样式表中定义的样式被加载到另一个 Controller 的 View 中,直到页面被刷新。 (我将类放在多个 Controller View 中的一个元素上,以查看它是否真的与特定 Controller 隔离。)

基本上,在刷新页面之前,一个 Controller 的 CSS 文件中的样式可以在其他 Controller View 中使用,然后从 Controller View 中没有该样式的元素中“删除”该样式CSS 文件。

最佳答案

您似乎错误地通过 gem 和 Rails 的 Assets 管道预编译了 Bootstrap Assets 并且从 CDN 获取 Bootstrap 。您只需要一个或另一个,因此您可以删除 gem 并只使用 CDN。

关于css - 如何从 `assets.precompile` 中正确删除 Bootstrap CDN 并隔离 Controller 样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55526001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com