如何基于多个布局组织资产并单独呈现它们?

时间:2016-01-13 02:08:43

标签: ruby-on-rails

我的rails应用程序有3个主要布局。我想保持这3个布局在资产(图像,javascript,css)方面与每个布局分开。

如何整理资产以使其分开?

如果我只在资产中创建3个文件夹,是否有任何缺点? 我应该在每个图像,javascript和样式表中创建3个文件夹吗?

/assets/layout1/{images, javascripts, stylesheets}
/assets/layout2 ..
/assets/layout3 ..

/assets/images/layout1
/assets/images/layout2
..
/assets/javascripts/layout1
/assets/javascripts/layout2
..

我的控制器正在这样做:

class Layout1Controller < AC
  layout "layout1"

class Layout1Controller < AC
  layout "layout2"

但问题是所有的javascript和css等都会在每个页面上呈现。 如何将它们分成3个单独的文件?或者这在使用资产管道时是不可能的?

1 个答案:

答案 0 :(得分:2)

查看官方指南的2.2.1 Search Paths段(The Asset Pipeline):

  

默认位置为:imagesjavascriptsstylesheets   app/assets文件夹下的目录,但这些子目录是   不特别 - 将搜索assets/*下的任何路径。

所以这两种方法都是可以接受的,而且我认为使用哪种方法是个人偏好的问题。

就个人而言,第二种方法对我来说更清楚,无论哪种方式,你最终都会在每个images目录中复制结构(stylesheetsjavascriptslayoutlayout内的每个images等。)