将全国的城市导入到数据库示例:
#全国各省,直辖市
provinceArea=["安徽","北京", "福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西"," 辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","天津","西藏","新疆","云南","浙江","重庆"]

#example 内蒙古
neimenggu=["阿拉善盟","巴彦淖尔盟","包头","赤峰","鄂尔多斯","呼和浩特","呼伦贝尔","通辽","乌海","乌兰察布盟","锡林郭勒盟","兴安盟"]

neimenggus=[
neimenggu_0=["阿拉善右旗","阿拉善左旗","额济纳旗"],
neimenggu_1=["杭锦后旗","临河市","乌拉特后旗","乌拉特前旗","乌拉特中旗","五原县","磴口县"],
neimenggu_2=["包头市","达尔罕茂明安联合旗","固阳县","土默特右旗"],
neimenggu_3=["阿鲁科尔沁旗","敖汉旗","巴林右旗","巴林左旗","赤峰市","喀喇沁旗","克什克腾旗","林西县","宁城县","翁牛特旗"],
neimenggu_4=["达拉特旗","鄂尔多斯市","鄂托克旗","鄂托克前旗","杭锦旗","乌审旗","伊金霍洛旗","准格尔旗"],
neimenggu_5=["和林格尔县","呼和浩特市","清水河县","土默特左旗","托克托县","武川县"],
neimenggu_6=["阿荣旗","陈巴尔虎旗","额尔古纳市","鄂伦春自治旗","鄂温克族自治旗","根河市","呼伦贝尔市","满洲里市","莫力达瓦达斡尔族自治旗","新巴尔虎右旗","新巴尔虎左旗","牙克石市","扎兰屯市"],
neimenggu_7=["霍林郭勒市","开鲁县","科尔沁左翼后旗","科尔沁左翼中旗","库伦旗","奈曼旗","通辽市","扎鲁特旗"],
neimenggu_8=["乌海市"],
neimenggu_9=["察哈尔右翼后旗","察哈尔右翼前旗","察哈尔右翼中旗","丰镇市","化德县","集宁市","凉城县","商都县","四子王旗","兴和县","卓资县"],
neimenggu_10=["阿巴嘎旗","东乌珠穆沁旗","多伦县","二连浩特市","苏尼特右旗","苏尼特左旗","太仆寺旗","西乌珠穆沁旗","锡林浩特市","镶黄旗","正蓝旗","正镶白旗"],
neimenggu_11=["阿尔山市","科尔沁右翼前旗","科尔沁右翼中旗","突泉县","乌兰浩特市","扎赉特旗"]
]

require File.dirname(__FILE__) + '/shared_setup'
require 'active_record'

class Province < ActiveRecord::Base
    has_many :cities
end

class City < ActiveRecord::Base
  belongs_to :province
  has_many :district
end

class District < ActiveRecord::Base
  belongs_to :city
end

def add_province
  provinceArea.each do |province|
    Province.create(:provincename=>province)
  end
end

#将各个市和它的下级城市生成hash,例如hash["北京"]=["北京市","",""]
def link_to_city(cities,districts)
  hash=Hash.new(0)
  for i in 0..(cities.size)
    hash[cities.at(i)]=districts.at(i)
  end
  hash
end


def insert_to_database(hash,province_name)
anhui_pro=Province.find_by_provincename(province_name)
hash.each do |city,dis|
  if city != nil
    single=City.create(:cityname=>city,:province_id=>anhui_pro.province_id)
    temp=City.find_by_cityname(city)
    if dis != nil
      dis.each do |dist|
        District.create(:name=>dist,:city_id=>temp.city_id)
      end
    end
  end
end
end


#执行插入
insert_to_database(link_to_city(neimenggu,neimenggus),"内蒙古")


这里是连接数据库
$: << File.dirname(__FILE__) + '/../lib'

require 'active_record'
require 'logger'; class Logger; def format_message(severity, timestamp, msg, progname) "#{msg}\n" end; end

ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.establish_connection(
  :adapter  => "mysql", 
  :host     => "localhost", 
  :username => "root", 
  :password => "root", 
  :database => "CGSystem"
)

也就是直接用rails里面的example
评论
发表评论

您还没有登录,请登录后发表评论

不是流氓
搜索本博客
最近加入圈子
存档
最新评论