Ruby on Rails Ошибка в rake db: синтаксическая ошибка миграции, неожиданный конец $, ожидание '}'

Я получаю эту ошибку, когда запускаю 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: синтаксическая ошибка, неожиданный $end, ожидание '}' ...celeration' => [{:name =>'m/s²', :si => true, :conversion_f. ..*

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

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

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

Спасибо


person shashin    schedule 16.12.2010    source источник


Ответы (1)


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

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

# coding: utf-8

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

person Don Roby    schedule 16.12.2010