【问题标题】:"YAML syntax error occurred while parsing config/database.yml" Ruby on Rails“解析 config/database.yml 时发生 YAML 语法错误”Ruby on Rails
【发布时间】:2018-10-05 09:46:03
【问题描述】:

每次我运行我的 rails 应用程序时,我都会收到指向 database.yml 生产部分中的“encoding: utf8”的错误。如果我重新加载页面,它会将我带到应用程序,但我担心数据库有问题。

这是我的 database.yml 文件夹:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: b6f4e1d86a2a08
  password: 25205573
  host: us-cdbr-iron-east-05.cleardb.net

development:
  <<: *default
  database: DBProj_development

test:
  <<: *default
  database: DBProj_test


production:
  <<: *default
  adapter: mysql2
    encoding: utf8
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
    username: b6f4e1d86a2a08
    password: 25205573
    host: us-cdbr-iron-east-05.cleardb.net
    database: @localhost

我完全理解 YAML 必须始终使用空格缩进。不允许使用标签。我认为这不是问题。我还没有找到解决这个问题的唯一来源。

【问题讨论】:

    标签: mysql ruby-on-rails database yaml mariadb


    【解决方案1】:

    你有 2 个问题。生产标签中适配器下方的压痕级别错误。而且数据库标签的值不能以@开头,所以必须用引号引起来:

    default: &default
      adapter: mysql2
      encoding: utf8
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      username: b6f4e1d86a2a08
      password: 25205573
      host: us-cdbr-iron-east-05.cleardb.net
    
    development:
      <<: *default
      database: DBProj_development
    
    test:
      <<: *default
      database: DBProj_test
    
    
    production:
      <<: *default
      adapter: mysql2
      encoding: utf8
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      username: b6f4e1d86a2a08
      password: 25205573
      host: us-cdbr-iron-east-05.cleardb.net
      database: "@localhost"
    

    这将解决您的解析问题。

    【讨论】:

    • 在查看此通知之前,我确实看到了这一刻。现在一切正常。我一直在尝试解决此问题 2 天。无论如何,非常感谢。
    • 下次您可以通过执行以下操作从 irb 解析 YAML 文件:require 'yaml';YAML.load(File.open('./config/database.yml')) 这样您会收到更好的错误消息,告诉您哪一行有错误,有时甚至是什么错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多