Ruby on Rails problemas para rodar migrações com acentos e caracteres especiais
Se você criar uma migração para popular dados no banco de dados e as strings contiverem acentos ou caracteres especiais é bem provavelmente que você vai ter alguns erros de parse no código Ruby:
Por exemplo:
class PopulateTests < ActiveRecord::Migration def up data = [['Saúde', 'Bla bla bla'], ['Cabeça', 'Ble ble ble'], ['João', 'Belipx Blopx']] data.each do |item| test = Test.create(:name => item[0]) test.save end end def down Test.delete_all end end
Normalmente essa migração vai dar problema para rodar, devido aos caracteres de acentos e outros.
Para resolver isso bastar colocar no começo da sua migração: #encoding: UTF-8
Ficando o arquivo assim:
#encoding: UTF-8 class PopulateTests < ActiveRecord::Migration def up data = [['Saúde', 'Bla bla bla'], ['Cabeça', 'Ble ble ble'], ['João', 'Belipx Blopx']] data.each do |item| test = Test.create(:name => item[0]) test.save end end def down Test.delete_all end end
Posted in Ruby on Rails at julho 5th, 2012. No Comments.