Rails 3:资产管道+许多布局

Posted

技术标签:

【中文标题】Rails 3:资产管道+许多布局【英文标题】:Rails 3: assets pipeline + many layouts 【发布时间】:2013-05-08 10:05:27 【问题描述】:

我有一个使用 rails 3.1 的大型项目(没有资产管道)。这个项目有很多不同的布局,例如:

应用 首页 控制台

等等。每个布局都有一个巨大的 js 和 css 列表(要附加它们,我们使用 javascript_include_tagstylesheet_link_tag)。是否可以启用资产管道,以便为不同的布局包含不同的 js/css 文件,并为生产中的每个布局生成不同的 application.js 和 application.css?

【问题讨论】:

【参考方案1】:

是的

应用程序.css

*= require this_file
*= require that_file

home.css

*= require this_file
*= require home_file

等等等等

然后您可以在应用程序布局中执行此操作:

 <%= stylesheet_link_tag "application", media: "all" %>

和家庭布局

 <%= stylesheet_link_tag "home", media: "all" %>

您还需要调整 production.rb

  config.assets.precompile += %w( application.css home.css home.js )

包括您在布局中引用的所有编译文件。

【讨论】:

以上是关于Rails 3:资产管道+许多布局的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3.1 资产管道供应商/资产文件夹组织

Rails 3.1 资产管道和缓存

用于 JavaScript 的 Rails 3.1 资产管道

rails 3.1资产管道路由错误

Rails 3.1 资产管道 - 为啥我的图像没有为生产进行预编译?

开发中的 rails 3.1 资产管道 css 缓存