2

私は基本的な Rails チュートリアルを行っています。「rails s」でサーバーを実行しようとすると、localhost:3000 ブラウザーで ActiveRecord::ConnectionNotEstablished が表示されます。

チュートリアルでは、database.yml に適切な資格情報があることを確認するように指示されていますが、その方法は指示されていません。Postgresql を使用しています。これは私のdatabse.ymlにあるものです:

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: postgresql
  database: myrubyblog
  username:postgres
  password: theoffice
  pool: 5
  timeout: 5000
  host: localhost

# 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: postgresql
  database: myrubyblog
  username:postgres
  password: theoffice
  pool: 5
  timeout: 5000
  host: localhost

production:
  adapter: postgresql
  database: myrubyblog
  username:postgres
  password: theoffice
  pool: 5
  timeout: 5000
  host: localhost

ありがとう!

4

1 に答える 1

1

行を削除してみてください:

pool: 5
timeout: 5000
host: localhost


それでも失敗する場合は、サーバーを再起動してみてください。psql が正しくインストールされていることを確認してください

$ sudo -u postgres psql
> CREATE ROLE "Blou91" PASSWORD 'secret' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;

「成功」のようなメッセージが表示された場合。database.yml を次のように変更します。

common: &common
  adapter: postgresql
  username: "Blou91"
  password: "secret"

development:
  <<: *common
  database: myrubyblog_development

test:
  <<: *common
  database: myrubyblog_test

production:
  <<: *common
  database: myrubyblog_production

次に、Rails アプリケーション ディレクトリの下で実行します。

$ bundle exec rake db:create db:migrate

于 2013-10-04T07:35:20.030 に答える