Rails:为什么我的所有scss文件都没有编译?

时间:2012-04-29 10:58:02

标签: ruby-on-rails asset-pipeline sass

我是rails的初学者,我认为我对如何组织样式表没有明确的想法。目前,我的资产/样式表中有两个文件:

  • application.css
  • home.css

当我运行rake资产时:预编译 - 我意识到只有application.css被编译到我的public / assets文件夹中。怎么样home.css?

更多信息

我希望home.css仅在从我的家庭控制器收到响应时加载。我删除了* = require_tree。来自application.css(因为我猜测home.css会被包含在所有其他页面中 - 我是对的吗?)

我试图找到解决方案的原因是因为heroku引发了以下错误:

ActionView::Template::Error (home.css isn't precompiled):
2012-04-29T10:48:20+00:00 app[web.1]:     5:     <meta name="viewport" content="width=device-width">
2012-04-29T10:48:20+00:00 app[web.1]:     7:     = stylesheet_link_tag "application"
2012-04-29T10:48:20+00:00 app[web.1]:     6:     = javascript_include_tag "application"
2012-04-29T10:48:20+00:00 app[web.1]:     8:     = stylesheet_link_tag params[:controller]
2012-04-29T10:48:20+00:00 app[web.1]:     9:     = javascript_include_tag [:controller]
2012-04-29T10:48:20+00:00 app[web.1]:     10:     = csrf_meta_tags
2012-04-29T10:48:20+00:00 app[web.1]:     11:   %body
2012-04-29T10:48:20+00:00 app[web.1]: 
2012-04-29T10:48:20+00:00 app[web.1]:   app/views/layouts/application.haml:8:in `_app_views_layouts_application_haml__2082158123561350666_35885340'
2012-04-29T10:48:20+00:00 app[web.1]: cache: [GET /] miss

任何想法是什么问题/错误?谢谢!

1 个答案:

答案 0 :(得分:5)

默认情况下,只有application.css是编译的(参见the guide)。如果要更改预编译的内容,请在application.rb中更改config.assets.precompile,例如

config.assets.precompile += ['home.css']