“解析config/database.yml”ruby on rails时出现yaml语法错误

sgtfey8w  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(353)

每次运行rails应用程序时,我都会在database.yml的production部分中遇到指向“encoding:utf8”的错误。如果我重新加载页面,它会把我带到应用程序,但我担心数据库出了问题。
这是my 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必须使用空格一致地缩进。标签是不允许的。我认为这不是问题所在。我没有找到一个唯一的来源来解决这个问题。

vfhzx4xs

vfhzx4xs1#

你有两个问题。生产标签中适配器下方的压痕级别错误。数据库标签的值不能以 @ ,因此必须将其放在引号之间:

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"

这将解决您的解析问题。

相关问题