Mongodb Heroku没有预编译我的资产以准备我的应用程序用于资产管道

Mongodb Heroku没有预编译我的资产以准备我的应用程序用于资产管道,mongodb,ruby-on-rails-3.1,heroku,mongoid,asset-pipeline,Mongodb,Ruby On Rails 3.1,Heroku,Mongoid,Asset Pipeline,我在使用Rails 3.1.1与Heroku/Cedar一起使用资产管道设置时遇到了一些问题 我已经推送了我的应用程序,它成功启动了,但是没有消息说“准备资产管道”,也没有提供静态资产。找不到JS、CSS或图像,因为没有执行slug编译时间或运行时资产编译 任何帮助都将不胜感激 它们描述了此时部署期间应该发生的情况,我将在下面进行总结: 使用Heroku Cedar上的Rails 3.1应用程序,当您git push Heroku时,您的资产将作为部署过程的一部分,通过使用rake任务包exec

我在使用Rails 3.1.1与Heroku/Cedar一起使用资产管道设置时遇到了一些问题

我已经推送了我的应用程序,它成功启动了,但是没有消息说“准备资产管道”,也没有提供静态资产。找不到JS、CSS或图像,因为没有执行slug编译时间或运行时资产编译

任何帮助都将不胜感激

它们描述了此时部署期间应该发生的情况,我将在下面进行总结:

使用Heroku Cedar上的Rails 3.1应用程序,当您git push Heroku时,您的资产将作为部署过程的一部分,通过使用rake任务包exec rake assets:precompile进行预编译


您在Heroku-上的Rails 3.1资产管道上看过这篇文章吗。我昨天查看了它,从中得到了一些提示,我在Heroku上运行Rails 3.1站点已经有一段时间了

如果这是一个新的Rails 3.1站点,或者是一个升级到Rails 3.1的站点,那么需要检查的是资产管道是否已为生产启用—默认情况下Rails 3.1使用

config.assets.enabled = false

在application.rb中。您是否将app/assets用于您的资产而非公共资产/

确定因此解决方案如下:

我使用的是mongoid,它将删除“rails/all”行作为配置的一部分。因此,链轮未加载

使用rails 3.1+还需要在application.rb中添加
require“sprockets/railtie”
,以便启用链轮。轰,开始工作了


此信息可在mongoid网站上找到。对于可能没有在application.rb中加载完整“rails/all”的任何人来说,了解这一点很有用。显然,资产管道需要链轮才能正常工作。

嘿,感谢您回答我的问题。我不认为我接触过那个文件,用信息更新问题。为了澄清,这是rails 3.1.1,管道在本地运行良好,但在部署到Heroku时不会编译。我刚刚创建了一个新的应用程序来验证该设置是否存在。您是否尝试在本地生产环境中运行它以查看是否可以获得更多的洞察力?是的,一切都正常工作,但只是Heroku没有触发这一阶段的应用程序这是必要的部署。我还看到,assets rake任务似乎没有执行heroku运行的rake-t,但它们在本地执行,非常奇怪。只是一个小问题-如果您已经在本地预编译了资产,提交到git并推送到heroku,并且公共/资产中存在清单文件,那么heroku将不会尝试预编译您的资产。这是正确的,但这不是我想要的预编译选项。此解决方案用于希望在slug编译时编译资产。很高兴知道-您可能会认为这会显示在本地以生产模式运行应用程序。您是对的!在做任何事情之前,请仔细阅读文档。谢谢你的提示。哇,在寻找了几个小时的错误之后,我终于发现了这个。你是救世主。在标签中添加了mongoid+mongodb,这样可以更容易地找到它,干杯。哦,我的上帝。非常感谢。我觉得自己像个白痴。我一遍又一遍地读了那个文档,但还是被拥有了。啊。