【问题标题】:Rails: Why doesnt all my scss files get compiled?Rails:为什么我所有的 scss 文件都没有被编译?
【发布时间】:2012-05-09 10:30:30
【问题描述】:

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

  • application.css
  • home.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

您知道问题/错误是什么吗?谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我必须告诉它预编译每个 css 文件吗? (我想我将为每个控制器提供 css 文件)。或者这是不好的做法?
    • 我认为这不是为每个控制器设置单独的 css 的最佳做法。通常(在简单的情况下)都编译成一个巨大的文件,并加载一次。您可以随意拆分文件,但最终会是一个大文件。
    • 好的。我现在知道了。最后一个疑问 - 我如何使用不同的背景,例如对于我的所有用户页面(由用户控制器加载)到应用程序的其余部分背景?
    • 我通常在布局中的 body 标签或容器 div 上设置类,以允许此类内容
    • ~Newton,也许你明白了,但为了清楚起见,对于可能阅读此线程的其他人,标准方法是编译 application.css,但 application.css.scss 列出了所有其他文件,它们被编译成一个输出。
    猜你喜欢
    • 2022-09-30
    • 2013-08-03
    • 2016-08-22
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2019-08-16
    相关资源
    最近更新 更多