ActiveRecord :: ConnectionNotEstablished (ActiveRecord :: ConnectionNotEstablished) - PullRequest
1 голос
/ 21 марта 2012

У меня есть приложение Rails, которое работает с mongodb. Я хочу развернуть его в Heroku, но получаю ошибку:

       Using sass-rails (3.2.5)
       Installing sqlite3 (1.3.5) with native extensions Unfortunately, a fatal error has occurred.
Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues
so that we can fix it. Thanks!
       /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions':
 ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

Ну, я прокомментировал sqlite-gem в моем Gemfile:

# gem 'sqlite3'

Теперь он правильно развертывается на heroku, но я получаю сообщение об ошибке, пока я работаю с приложением:

[2012-03-21 12:53:46] INFO  WEBrick::HTTPServer#start: pid=9896 port=3000
MONGODB [DEBUG] Logging level is currently :debug which could negatively impact client-side performance. You should set your logging level no lower than :info in production.
MONGODB (140ms) admin['$cmd'].find({:ismaster=>1}).limit(-1)
MONGODB (131ms) some['$cmd'].find({:getnonce=>1}).limit(-1)
MONGODB (131ms) some['$cmd'].find({"authenticate"=>1, "user"=>"some", "nonce"=>"92a826e37bab5cd5", "key"=>"524d2de26fd6416b7cb0cddc2f496a2c"}).limit(-1)
MONGODB (131ms) some['$cmd'].find({:getnonce=>1}).limit(-1)
MONGODB (132ms) some['$cmd'].find({"authenticate"=>1, "user"=>"some", "nonce"=>"6a49c4f59de3294d", "key"=>"f081eb178e341e88d014c045b45ad633"}).limit(-1)


Started GET "/docs" for 127.0.0.1 at 2012-03-21 12:53:53 +0400

ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished):
  activerecord (3.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:374:in `retrieve_connection'

Как мне решить мою проблему?

обновлен

Я включил следующую строку в мой application.rb, чтобы он выглядел так:

require 'rails/all'

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"

1 Ответ

7 голосов
/ 21 марта 2012

В вашем config / application.rb вам необходимо прокомментировать требование ActiveRecord:

# require "active_record/railtie"

Если вам требуются все рельсы по require 'rails/all', вам нужно разделить их на все нужные вам рельсы.Например, в моем приложении, использующем Mongoid, а не ActiveRecord и не ActionResources, я имею только вместо 'rails / all':

# require 'rails/all'
# require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "sprockets/railtie"
...