RoR - ActiveRecord :: ConnectionNotEstablished

时间:2012-02-12 17:10:34

标签: ruby ruby-on-rails-3

我使用'install bundle'生成了一个应用程序,并在欢迎使用的应用程序的“关于您的应用程序的环境”页面中收到错误 ActiveRecord :: ConnectionNotEstablished

Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.0'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer'

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

任何想法?

  • 这是生成的gemfile +对rails&的版本号的更改sqlite-ruby通过消除过程选择以使捆绑程序安装所有内容。

一些背景

  1. 我正在阅读一本书,所以关于不同版本的建议很好。
  2. 我不知道我在做什么。
  3. 我正在使用OSX 10.5(leopard)
  4. 如果有任何更多信息我应该添加,请告诉我。

    奖金问题:如果我需要从头开始使用不同的sqlite版本,我应该创建一个新的应用程序还是我可以再次使用Bundler?

    修改 Kleber S.建议配置文件的config/database.yml文件配置:

    # SQLite version 3.x
    #   gem install sqlite3
    #
    #   Ensure the SQLite 3 gem is defined in your Gemfile
    #   gem 'sqlite3'
    development:
      adapter: sqlite3
      database: db/development.sqlite3
      pool: 5
      timeout: 5000
    
    # Warning: The database defined as "test" will be erased and
    # re-generated from your development database when you run "rake".
    # Do not set this db to the same as development or production.
    test:
      adapter: sqlite3
      database: db/test.sqlite3
      pool: 5
      timeout: 5000
    
    production:
      adapter: sqlite3
      database: db/production.sqlite3
      pool: 5
      timeout: 5000
    

    任何想法有什么不对?

2 个答案:

答案 0 :(得分:1)

您可能需要正确配置config/database.yml文件。

可能需要在SQLite上创建一个新数据库来修复该错误。

奖励答案:您不必从头开始,只需配置database.yml文件。

答案 1 :(得分:0)

那么只需更换这一行:

gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'

通过这一行:

gem 'sqlite3'

在你的gemfile中?

编辑:好的,忘了这一点,MAC OS 10.5不能使用sqlite3。所以gemfile似乎是正确的。