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

Exi*_*iRe 6 layout ruby-on-rails ruby-on-rails-3.1 asset-pipeline

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

  • 应用
  • 家
  • 安慰

等每个布局有一个巨大的JS和CSS(附上他们,我们使用的名单javascript_include_tag和stylesheet_link_tag).是否可以启用资产管道,因此它将包含不同布局的不同js/css文件,它将为生产中的每个布局生成不同的application.js和application.css?

Dom*_*ker 19

是的

application.css

*= require this_file
*= require that_file
Run Code Online (Sandbox Code Playgroud)

home.css

*= require this_file
*= require home_file
Run Code Online (Sandbox Code Playgroud)

等等

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

 <%= stylesheet_link_tag "application", media: "all" %>
Run Code Online (Sandbox Code Playgroud)

和家庭布局

 <%= stylesheet_link_tag "home", media: "all" %>
Run Code Online (Sandbox Code Playgroud)

你还需要调整production.rb

  config.assets.precompile += %w( application.css home.css home.js )
Run Code Online (Sandbox Code Playgroud)

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