Каждый раз, когда я запускаю приложение rails, я получаю эту ошибку, указывающую на "encoding: utf8" в разделе производства database.yml. Если я перезагружу страницу, она приведет меня в приложение, но я боюсь, что что-то не так с базой данных.
Вот моя папка 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 необходимо последовательно отступать, используя пробелы. Вкладки не разрешены. Я не думаю, что это проблема. Я не нашел единственного источника для устранения этой проблемы.
У вас есть 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"
Это исправит ваши проблемы с синтаксическим разбором.
require 'yaml';YAML.load(File.open('./config/database.yml'))
таким образом вы получите лучшее сообщение об ошибке, сообщающее, какая строка имеет ошибка, а иногда и ошибка.