É um código simples mas chato de se fazer. O que eu fiz foi só organizar um código (pra ser usado em um seed do Rails) pra popular as tabelas Estado e Cidades.
Quem achar algum erro de português ou cidade faltando, por favor me sinalize para que outras pessoas possam ter acesso ao arquivo corrigido.
Simplismente copie o conteúdo do arquivo “br_populate.rb” e cole no Seed.rb (ou em outro arquivo) de sua aplicação. Uma outra sugestão é incluir em um arquivo Thor na pasta /lib/tasks do seu projeto Rails.
Eu estou usando as tabelas de Cidade e Estado com a seguinte estrutura:
________________ __________________ | States | | Cities | |----------------| 1 ------------ * |------------------| | name:string | | name:string | | acronym:string | | capital:boolean | ---------------- | state_id:integer | ------------------
O loop de inserção das cidades está bem curtinho, então caso sua estrutura seja diferente da minha, é fácil alterar.
states.each do |state| state_obj = State.new(:acronym => state["acronym"], :name => state["name"]) state_obj.save state["cities"].each do |city| c = City.new c.name = city c.state = state_obj c.capital = capital?(city, state) c.save end end
Eu achei a lista das cidade desse arquivo .js: “cidades-estados-js.googlecode.com/files/cidades-estados-v0.2.js” escrito po DGmike do site dgmike.com.br/