0

簡単な Rails アプリケーションを作成しました。

1

$ rails new myapp1 -d postrgresql

2 . 削除されました/public/index.html

3 . Homecontroller とアクションを作成しました

4 . ルートを書いた

myapp1::Application.routes.draw do

  root :to => "home#index"
  match 'about' => 'home#about'
  match 'contacts' => 'home#contacts'
  match 'projects' => 'home#projects'
end

5 . ビューとデフォルトのレイアウトを作成しました

6 . 一番下の行。ここにdatabase.ymlがあります

発達:

  adapter: postgresql
  encoding: unicode
  database: myapp1_db
  host: localhost
  pool: 5
  username: myapp1_user
  password: 1234
 
test:
  adapter: postgresql
    encoding: unicode
    database: myapp1_db
    host: localhost
    pool: 5
    username: myapp1_user
    password: 1234

production:
  adapter: postgresql
    encoding: unicode
    database: myapp1_db
    host: localhost
    pool: 5
    username: myapp1_user
    password: 1234

もちろん、ユーザーとデータベースを作成しました

sudo -u postgres psql
postgres=# \password
postgres=# create user myapp1_user with password '1234';
postgres=# create database myapp1_db owner myapp1_user; 

しかし、いくつかの心配があります:

1 . 現在、データベースは使用していませんが、それにもかかわらず、アプリケーションでエラーが発生します

PG::致命的なエラー: ユーザー "myapp1" のピア認証に失敗しました

2 . Rails は に目をつぶっているようdatabase.ymlです。myapp1_userの代わりにユーザーmyapp1を使用するのはなぜですか?

4

2 に答える 2

1

次のように、database.yml ファイルにホストとポートを指定します。

    development:
      adapter: postgresql
      encoding: unicode
      database: myapp1_db
      host: localhost
      pool: 5
      username: myapp1_user
      password: 1234
      host: localhost
      port: 5432

Rails 3.2.x および PostgreSQL 9.1.x を搭載した Ubuntu 12.04 LTS で魅力的に動作します

于 2012-06-29T07:45:34.607 に答える
1

YAML では空白は重要です。

production:
  adapter: postgresql
    encoding: unicode
    ...
    password: 1234

次のようにする必要があります。

production:
  adapter: postgresql
  encoding: unicode
  ...
  password: 1234
于 2012-06-02T09:46:28.327 に答える