2

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

  • 应用程序.css
  • 主页.css

当我运行 rake assets:precompile - 我意识到只有 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

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

4

1 回答 1

5

默认情况下,只有 application.css 被编译(参见指南)。如果要更改预编译的内容,请更改config.assets.precompileapplication.rb,例如

config.assets.precompile += ['home.css']
于 2012-04-29T11:01:41.180 回答