【问题标题】:Requesting a ruby-on-rails application gives Psych::BadAlias error请求 ruby​​-on-rails 应用程序会导致 Psych::BadAlias 错误
【发布时间】:2014-05-24 15:58:26
【问题描述】:

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

http://localhost:3000

我收到以下错误:

*Psych::BadAlias

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

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    发生这种情况是因为 netbeans 的 ruby​​ 插件在从现有源创建项目时弄乱了 database.yml 文件。它将关于 sqlite3 的注释替换为 mysql,但更糟糕的是它删除了第一个定义块,即“默认”

    所以简单地插入

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

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

    【讨论】:

      【解决方案2】:

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

      defaults: &defaults
        adapter:  mysql2
        username: root
        password: 
        host:     localhost
        timeout:  5000
      
      development:
        database: app_name_development
        <<: *defaults
      

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

      【讨论】:

        【解决方案3】:

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

        谢谢

        【讨论】:

          【解决方案4】:

          您可能需要升级您的 ruby​​ > 1.9。

          【讨论】:

            【解决方案5】:

            出现这种情况是因为密码 DB 有一些特殊字符,如果您使用 rbenv-vars 插件,请更改没有特殊字符的密码。

            【讨论】:

              猜你喜欢
              • 2023-02-20
              • 1970-01-01
              • 2016-11-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-12-15
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多