繁体   English   中英

请求一个ruby-on-rails应用程序会出现Psych :: BadAlias错误

[英]Requesting a ruby-on-rails application gives Psych::BadAlias error

我从应用程序目录运行了Rails服务器。 但是当我尝试从浏览器发出请求时

http://localhost:3000

我收到以下错误:

* Psych :: BadAlias

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

发生这种情况是因为从现有源创建项目时,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我们找到了默认未定义别名

谢谢

您可能需要升级红宝石> 1.9。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM