Ruby on rails Rails 3.2.1 heroku资产预编译错误

Ruby on rails Rails 3.2.1 heroku资产预编译错误,ruby-on-rails,heroku,Ruby On Rails,Heroku,我已将这两行添加到application.rb中: config.assets.initialize_on_precompile = false config.assets.compile = true 但是,当我推到Heroku时,仍然会出现错误: 2012-02-05T09:48:34+00:00 app[web.1]: Completed 500 Internal Server Error in 3ms 2012-02-05T09:48:34+00:00 app[web.1]: 20

我已将这两行添加到application.rb中:

config.assets.initialize_on_precompile = false

config.assets.compile = true
但是,当我推到Heroku时,仍然会出现错误:

2012-02-05T09:48:34+00:00 app[web.1]: Completed 500 Internal Server Error in 3ms
2012-02-05T09:48:34+00:00 app[web.1]: 
2012-02-05T09:48:34+00:00 app[web.1]: ActionView::Template::Error (bootstrap.css isn't precompiled):

有什么建议吗?

在提交代码并将其推送到heroku之前,尝试使用
rake资产:预编译。

阅读,这是一篇关于如何在heroku上运行rails 3.2.1(和ruby 1.9.3)的教程。显然,您可以跳过不需要的部分,但它应该解释为什么会发生这些问题以及如何解决这些问题


另外,请阅读大卫·赖斯的文章,他是《有用的资产》的作者。它将帮助您解决这个问题。

从外观上看,您有一个
bootstrap.css
文件,它没有正确地包含在
应用程序/资产/样式表
中的清单文件中,您可能也直接从
样式表标签调用它

有几种方法可以实现这一点:

  • 您可以在您的环境配置文件中添加一行,以确保您正在调用的css文件已预编译:
  • config.assets.precompile+=%w(bootstrap.css)

    …例如

  • 这是我可能会做的;如上所述,将bootstrap.css文件包含在“app/assets/stylesheets”内的清单文件中。您的清单文件将如下所示(不确定此文件的格式是否正确显示在此处,因此我还创建了一个要点:):
  • /* *=需要引导 */

    /*省略了文件的其余部分*/


    您可能需要更多的文件,这取决于您的css设置。

    heroku在尝试预编译您的资产时会说什么(您是否在cedar上?),非常感谢这两个链接。这两个都对我的应用程序的升级非常有帮助。不幸的是,它们都没有帮助我解决编译前的错误,我仍然在得到这些错误。还有别的地方我可以试试吗?看看佐尔塔的答案,听起来很有希望