Ошибка Ruby on Rails в rake db: ошибка синтаксиса переноса, неожиданный конец $, ожидание '}' - PullRequest
1 голос
/ 16 декабря 2010

Я получаю эту ошибку при запуске rake db: migrate * db / migrate // 004_add_data_to_measurement_type_and_measurement_unit.rb: 3: недопустимый многобайтовый символ (US-ASCII) db / migrate // 004_add_data_to_measurement_type_and_measurement_unit.rb: 3: недопустимый многобайтовый символ (US-ASCII) db / migrate // 004_add_data_to_measurement_type_and_measurement_unit.rb: 3: синтаксическая ошибка, неожиданный конец $, ожидание '}' ... celeration '=> [{: name =>' m / s² ',: si => true,: translation_f ... *

Затем я проверил это с помощью * $ ruby ​​-wc db / migrate / 004_add_data_to_measurement_type_and_measurement_unit.rb * и получил ту же ошибку.

Я был уверен, что у меня есть все нужные гемы на месте, поэтому я проверил, удалив верхний индекс в строке, сделав его: name => 'm / s' from: name => 'm / s²'. Это устранило ошибку.

Но проблема в том, что мне нужен верхний индекс , и я не знаю, как предыдущий разработчик смог запустить db: migrate на этом. Вы видели нечто подобное?

Спасибо

1 Ответ

2 голосов
/ 16 декабря 2010

Проблема в том, что верхний индекс не является ASCII.

Предыдущий разработчик мог установить что-то так, чтобы UTF-8 всегда предполагался, но вы должны быть в состоянии сделать это для этого сценария специально, добавив магический комментарий

# coding: utf-8

в верхней части скрипта.

...