2014-09-12 59 views
0

我知道还有一些与此问题有关的其他问题,但我一直无法找到答案然而。Rails 4.1.4在推送到Heroku时试图连接到未初始化的Mongo数据库(rake资产:预编译)

我正在用Rails 4.1.4构建应用程序。我使用MongoDB作为我的数据库和Mongoid 4.0.0作为ODM。预编译因为Rails的尝试连接到生产数据库,这是不是在这一点上初始化,并默认连接到:

当我把我的应用程序的Heroku,构建运行耙资产时失败开发数据库,​​这在生产中不存在。这是错误我得到:

准备应用Rails的资产管道 运行:耙资产:预编译 耙中止! Mongo :: ConnectionFailure:无法连接到本地主机上的主节点:27017 /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo-1.10.2/lib /mongo/mongo_client.rb:422:in connect' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo-1.10.2/lib/mongo/mongo_client.rb:661:in setup' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo-1.10.2/lib/mongo/ mongo_client.rb:177: initialize' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo_mapper-0.13.0/lib/mongo_mapper/connection.rb:88:in 新' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo_mapper-0.13.0/lib/mongo_mapper/connection.rb :88: connect' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo_mapper-0.13.0/lib/mongo_mapper/connection.rb:98:in setup' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/mongo_mapper-0.13.0/lib/mongo_mapper/railtie.rb:48:在 block in <class:Railtie>' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/initializable.rb:30:in instance_exec' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/initializable.rb:30:in run' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/initializable.rb:55:in block in run_initializers' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/initializable.rb:54:in run_initializers' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/application.rb:300:in initialize!' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/config/environment.rb:5:in <top (required)>' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/application.rb:276:in 需要” /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0 /gems/railties-4.1.4/lib/rails/application.rb:276:in require_environment!' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/gems/railties-4.1.4/lib/rails/application.rb:379:in block in run_tasks_blocks' /tmp/build_f8b818f9-3058-4ea1-807e-158e2964efcd/vendor/bundle/ruby/2.0.0/ gem/sprockets-rails-2.1.4/lib/sprockets/rails/task.rb:64: `block(2 levels)in define' 任务:TOP =>环境 (请参阅完整跟踪, - 跟踪)! !预编译资产失败。 !

!推拒绝,未能编译Ruby应用程序

有没有人知道这个问题的修复?如何在生产环境中预编译资产时告诉Rails未连接到数据库?

在此先感谢您的帮助!

最佳,

回答

0

问题解决Rails 4.1.4与我所说的没有问题。我做错了什么,我的坏!

Regards,

0

你可能想尝试启用实验室功能来对预编译可用的环境:

heroku labs:enable user-env-compile 

其他seem to be having success做,在类似的情况。

+0

此功能在Heroku中不再可用。 Heroku默认启用它。所以这个修复不适合我。不管怎么说,多谢拉!。 – 2014-09-12 16:54:53

相关问题