【发布时间】:2014-05-24 15:58:26
【问题描述】:
我从我的应用程序目录运行 rails 服务器。 但是当我尝试从浏览器发出请求时
http://localhost:3000
我收到以下错误:
*Psych::BadAlias
无法加载Rails.application.database_configuration:未知别名:默认*
【问题讨论】:
标签: ruby-on-rails
我从我的应用程序目录运行 rails 服务器。 但是当我尝试从浏览器发出请求时
http://localhost:3000
我收到以下错误:
*Psych::BadAlias
无法加载Rails.application.database_configuration:未知别名:默认*
【问题讨论】:
标签: ruby-on-rails
发生这种情况是因为 netbeans 的 ruby 插件在从现有源创建项目时弄乱了 database.yml 文件。它将关于 sqlite3 的注释替换为 mysql,但更糟糕的是它删除了第一个定义块,即“默认”
所以简单地插入
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
在 database.yml 的开头,你会没事的
【讨论】:
这是由您的 database.yml 文件中的无效别名引起的。你很可能有一些看起来接近这个的东西......但不完全是:
defaults: &defaults
adapter: mysql2
username: root
password:
host: localhost
timeout: 5000
development:
database: app_name_development
<<: *defaults
在此,&defaults 定义了您的错误所涉及的别名。让你的database.yml 看起来更像这种语法,你应该被设置。或者,在此处发布您的 database.yml 文件,我们可以在需要时帮助您专门修复它。
【讨论】:
database.yml文件内容为:
development:
<<: *default
database: db/development.sqlite3
test:
<<: *default
database: db/development.sqlite3_test
production:
<<: *default
database: db/development.sqlite3_production
我使用 netbeans 作为文本编辑器,文件顶部有错误提示:
ComposerException null 我们发现了这个未定义的别名默认值
谢谢
【讨论】:
您可能需要升级您的 ruby > 1.9。
【讨论】:
出现这种情况是因为密码 DB 有一些特殊字符,如果您使用 rbenv-vars 插件,请更改没有特殊字符的密码。
【讨论】: