Ruby on rails 无法连接到本地PostgreSQL数据库
我创建了一个简单的rails应用程序: 1 $rails新myapp1-d postrgresql 2。已删除Ruby on rails 无法连接到本地PostgreSQL数据库,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我创建了一个简单的rails应用程序: 1 $rails新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#contac
/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似乎对
数据库.yml
视而不见。为什么它使用用户myapp1而不是myapp1\u用户?空白在YAML中很重要
production:
adapter: postgresql
encoding: unicode
...
password: 1234
应该是:
production:
adapter: postgresql
encoding: unicode
...
password: 1234
在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的Ubuntu12.04 LTS上运行起来就像一个魔咒,请确保在配置中添加端口5432或5433,并使用“lsof”命令进行检查以确认