我创建了一个简单的rails应用程序:
1
$ rails new myapp1 -d postrgresql
2 即可。已移除/public/index.html
第3 即可。创建了Homecontroller和动作
4 即可。写了路线
myapp1 :: Application.routes.draw做
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 即可。铁轨似乎对database.yml
视而不见。为什么它使用用户 myapp1 而不是 myapp1_user ?
答案 0 :(得分:1)
在YAML中,空白是重要的。
production:
adapter: postgresql
encoding: unicode
...
password: 1234
应该是:
production:
adapter: postgresql
encoding: unicode
...
password: 1234
答案 1 :(得分:1)
在database.yml文件中提供主机和端口,如下所示:
development:
adapter: postgresql
encoding: unicode
database: myapp1_db
host: localhost
pool: 5
username: myapp1_user
password: 1234
host: localhost
port: 5432
在Ubuntu 12.04 LTS上使用Rails 3.2.x和PostgreSQL 9.1.x上的魅力工作