如何使用资源存储不同的主题?

时间:2017-04-23 18:52:01

标签: ruby-on-rails

我希望有人可以在rails中解释如何使用和不使用资产管道进行以下操作。

我需要在单个rails应用程序中使用3个主题。

每个主题目前都有以下结构:

/css/..
/fonts/..
/images/..
/js/..

我可能会在将来添加更多主题,所以我认为最好将每个主题放在自己的文件夹中,而不是传播。

我可以将资产管道用于此主题要求吗?

如果没有,我怎么能不使用资产管道?

1 个答案:

答案 0 :(得分:0)

首先,我建议您使用资产管道,因为它通过预编译和为您设置缓存标头来改进Web应用程序静态资产加载性能。

对于三个主题即。 theme1,theme2和theme3这就是我要做的事情: -

  • theme1.html.erb目录中创建名为theme2.html.erbtheme3.html.erbapp/views/layouts的单个布局。
  • theme1.scss目录中创建名为theme2.scsstheme3.scssapp/assets/stylesheets的样式表。
  • theme1.js目录中创建名为theme2.jstheme3.jsapp/assets/javascripts的JS文件。
  • theme1目录中创建名为theme2theme3app/assets/images的子目录。
  • 您可以将字体直接添加到样式表目录中,因为它们很可能对每个主题都是唯一的。
  • 使用资产管道帮助程序引用图像,因为在上下文中将该主题的相对目录路径预先添加到图像名称前的app/assets/images目录之后,通常会这样做。
  • 另外,不要忘记导入/要求文件或将它们添加到config/initializers/asset.rb文件中的资产编译路径。