>

레일 애플리케이션을 실행할 때마다 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을 일관되게 들여 쓰기해야한다는 것을 완전히 알고 있습니다. 탭이 허용되지 않습니다. 이것이 문제라고 생각하지 않습니다. 이 문제를 해결할 수있는 유일한 소스는 없습니다.


  • 답변 # 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"
    
    

    구문 분석 문제를 해결합니다.

관련 자료

  • 이전 multithreading - 글타래 (쓰레드 1) - 풀기/스위프트 중에 없음을 발견 함
  • 다음 cordova - 이온 프레임 워크에서 Firebase Cloud Messaging Plugin 사용 단계