请求ruby-on-rails应用程序会导致Psych :: BadAlias错误

时间:2014-05-24 15:58:27

标签: ruby-on-rails

我从应用程序目录运行了rails服务器。 但是当我尝试使用

从浏览器发出请求时
http://localhost:3000

我收到以下错误:

*精极度紧张:: BadAlias

无法加载Rails.application.database_configuration:未知别名:默认*

5 个答案:

答案 0 :(得分:3)

这是因为netbeans的ruby-plugin在从现有源创建项目时会混淆database.yml文件。它将关于sqlite3的注释替换为mysql,但更糟糕的是它删除了第一个定义块'default'

只需插入

即可
default: &default
adapter: sqlite3
pool: 5
timeout: 5000

在database.yml的开头,你会没事的

答案 1 :(得分:2)

这是由database.yml文件中的无效别名引起的。你很可能有一些看起来很接近这个......但不完全是:

defaults: &defaults
  adapter:  mysql2
  username: root
  password: 
  host:     localhost
  timeout:  5000

development:
  database: app_name_development
  <<: *defaults

在此,&defaults定义了您的错误正在讨论的别名。让你的database.yml看起来更像这种语法,你应该设置。或者,在此处发布您的database.yml文件,如果需要,我们可以帮助您专门修复它。

答案 2 :(得分:0)

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我们发现了未定义的别名默认

谢谢

答案 3 :(得分:0)

您可能需要升级ruby&gt; 1.9。

答案 4 :(得分:0)

之所以发生这种情况,是因为如果您使用rbenv-vars插件,则密码数据库具有某些特殊字符,请更改密码而无需使用特殊字符。