我有一个“欢迎” Controller 。我想为这个名为 welcome.html.erb 的 Controller 使用一个单独的布局,我只想使用 welcome.css.scss - 我得到了这个工作。
现在我有一个使用默认应用程序布局的“页面” Controller 。但是,这个使用 application.css.scss 的应用程序布局也呈现了我的其他布局的 css (welcome.css.scss)。这导致我所有的页面操作看起来都搞砸了,因为正在应用我的其他布局样式。
welcome.html.erb(布局)css声明
<%= stylesheet_link_tag 'welcome', media: 'all', 'data-turbolinks' => true %>
我的 application.html.erb(布局)仍然是默认设置。
总而言之,当我加载页面 Controller 时,我指定了我的页面布局,而这反过来只使用了 welcome.css.scss - 一切都很好。我单击一个链接,将我带到页面 Controller 和 BAM ... 它加载了我所有的 css 文件,并且 welcome.css.scss 与 application.css.scss 冲突。
一些可能的解决方案:
- 只需在 welcome.html.erb body 标签中添加一个 id 即可将其所有样式包装到自己的小选择器中,并将其添加到 application.css.scss(看起来很老套)
- 可能更改 application.css.scss 顶部的小声明?
我研究和试验了一段时间,我求助于 S.O.
感谢您的帮助。
最佳答案
您可能在 application.css.scss
的顶部有一行,在注释中,如下所示:
*= require_tree .
这需要样式表目录中的所有文件。您需要将其删除,并仅包括您想要的那些,一个接一个。
关于ruby-on-rails - 避免在 Rails 4 中呈现单独的布局 CSS 文件(样式表冲突),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24770148/