我是rails的初学者,我认为我对如何组织样式表没有明确的想法。目前,我的资产/样式表中有两个文件:
当我运行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
任何想法是什么问题/错误?谢谢!
答案 0 :(得分:5)
默认情况下,只有application.css是编译的(参见the guide)。如果要更改预编译的内容,请在application.rb中更改config.assets.precompile
,例如
config.assets.precompile += ['home.css']