Tyl*_*ham 14 ruby database postgresql ruby-on-rails
这就是我的database.yml文件的外观(显然还有相关的测试和生产条目)
development:
adapter: postgresql
encoding: unicode
database: dbname_dev
pool: 5
username: username
password: tehpass
Run Code Online (Sandbox Code Playgroud)
在终端中我可以成功运行以下内容并登录数据库:
psql -U username dbname_dev
Run Code Online (Sandbox Code Playgroud)
但是在创建了这个新的rails项目并运行之后
rails g controller ComingSoon index
Run Code Online (Sandbox Code Playgroud)
当我转到localhost:3000/coming_soon时,我收到以下消息(尽管双重和三重检查登录凭据)
fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
任何想法为什么我可以通过"psql"登录到这些数据库,但Rails不能?
Man*_*Das 25
database.yml的:
connection: &connection
adapter: postgresql
encoding: unicode
pool: 5
username: username
password: tehpass
development:
<<: *connection
database: dbname_development
test:
<<: *connection
database: dbname_test
production:
<<: *connection
database: dbname_production
Run Code Online (Sandbox Code Playgroud)
如果这对您不起作用,那么在安装过程中可能会出现问题.
访问此博客,希望这可能会帮助您.
编辑
错误案例:
e_sendauth: no password supplied
fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
这是在Ubuntu安装库存下发生的,并且是由于pg_hba.conf中的权限在默认情况下过于严格.要允许rails连接,只需将pg_hba.conf的底部更改为如下所示.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
Run Code Online (Sandbox Code Playgroud)
如果这有帮助,请告诉我?
| 归档时间: |
|
| 查看次数: |
20321 次 |
| 最近记录: |