2014-09-12 62 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

相關問題