«Синтаксическая ошибка YAML при синтаксическом анализе config / database.yml» Ruby on Rails

0

Каждый раз, когда я запускаю приложение 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 необходимо последовательно отступать, используя пробелы. Вкладки не разрешены. Я не думаю, что это проблема. Я не нашел единственного источника для устранения этой проблемы.

Теги:
database
mariadb
yaml

1 ответ

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"

Это исправит ваши проблемы с синтаксическим разбором.

  • 0
    Я буквально видел эти моменты перед проверкой этого уведомления. Теперь все отлично работает. Я пытался исправить это в течение 2 дней. В любом случае, большое спасибо.
  • 0
    В следующий раз вы можете проанализировать ваш YAML-файл из irb, выполнив: require 'yaml';YAML.load(File.open('./config/database.yml')) таким образом вы получите лучшее сообщение об ошибке, сообщающее, какая строка имеет ошибка, а иногда и ошибка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню