每次我运行我的rails应用程序时,我都会在database.yml的production部分中看到指向“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必须始终使用空格缩进。不允许使用标签。我不认为这是问题所在。我还没有找到解决这个问题的唯一来源。
答案 0 :(得分:0)
那里有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"
这将解决您的解析问题。