ruby-on-rails - Assets 管道 : excluding an admin. css 文件

标签 ruby-on-rails asset-pipeline

我将 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/

相关文章:

mysql - 加入 Rails 中的多个协会

ruby-on-rails - Ruby on Rails Polymorphic - Controller 和 View 解决方案

ruby-on-rails - Rails 如何在保存后更新列?

ruby-on-rails-3 - Vendors/assets/javascript 中的 Rails 3.2 Asset Pipeline + html5shiv.JS

ruby-on-rails - 将语句投入生产

ruby-on-rails - rails 更短 "time_ago_in_words"

ruby-on-rails-3 - 如何调整 sprockets 加载scss文件的顺序?

ruby-on-rails-3.1 - 如何将购买的 "theme"相关javascript、css 和image 文件组织成Rails 3.1 应用程序?

ruby-on-rails - 图像和 Assets 在 Rails 3.1.0 上的生产服务器中不起作用

ruby-on-rails - 在推送到 Heroku 之前删除 Rails 中的预编译 Assets