我将 Rails 3.0 应用程序升级到 Rails 3.1,其中涉及将这个
/*
*= require_self
*= require_tree .
*/
在 application.css 文件中。但是,现在有一个 admin.css 文件覆盖了主应用程序 css 文件。
有没有办法排除包含 admin.css 文件?在站点的管理部分,我手动包含 admin.css 文件,但我需要一种方法将其从用户界面中排除。
最佳答案
Similar question was asked earlier and you should check that one .
Sprockets 使用 list 文件来确定要包含和提供哪些 Assets 。这些 list 文件包含指令 — 指令告诉 Sprockets 需要哪些文件才能构建单个 CSS 或 JavaScript 文件。使用这些指令,Sprockets 加载指定的文件,必要时处理它们,将它们连接成一个文件,然后压缩它们(如果 Rails.application.config.assets.compress 为 true)。通过提供一个文件而不是多个文件,页面的加载时间可以大大减少,因为浏览器发出的请求更少。
您可以根据需要拥有任意数量的 list 文件。例如,admin.css 和 admin.js list 可能包含用于应用程序管理部分的 JS 和 CSS 文件。
特别是,您可以指定单个文件,并按照指定的顺序编译它们。
示例和更多详细信息可以在 this guide 中找到.
因此,您的新 application.css 将变为:
/*
*= require styles
*= require layout
*/
/* Other styles */
关于ruby-on-rails - Assets 管道 : excluding an admin. css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255787/