ChinaRegions

中国省份,城市,地区[地级市]Ruby on Rails 程式代码, Ruby (> 1.9.x) And Rails (> 4.0)

如何更新数据文件

If you are using ChinaRegions version 0.1.x be sure to run:

>> rails g china_regions:regions

to have the javascript file copied over into your project.

如何引入china_regions到你的项目

添加以下代码到你的 Gemfile:

gem 'china_regions'

OR

gem 'china_regions',  github: 'encoreshao/china_regions'

安装:

>> bundle install

开始构建城市数据

复制所需文件到你的项目中:

>> rails g china_regions:install

随后你可以看到控制台发生的变化:

  • 复制 db/migrate/xxxxxxxxxxx_create_china_regions_tables.rb 文件到db/migrate 目录
  • 复制 数据源 cities.yml 到 config 目录. config/cities.yml
  • 复制 regions.en.yml 和 regions.zh.yml 文件到 config/locales 目录

创建所需的表 (provinces, cities, districts):

>> rake db:migrate

导入数据到对应表中:

>> rake china_regions:import

将所需的模型(Models) [Province, City, District] 到您的应用程式中:

查看 app/models:

create  app/models/province.rb
create  app/models/city.rb
create  app/models/district.rb

如何在View中使用

范例:

= form_for @article do |f|

  = f.region_select [:province, :city, :district]

  # form_tag
  = region_select :article, :province_id
  = region_select :article, :city_id
  = region_select :article, :district_id

  OR

  = region_select :article, :province
  = region_select :article, :city
  = region_select :article, :district

  = f.submit class: 'btn'

添加前缀名:

= form_for @article do |f|

  = f.region_select [:province, :city, :district], :prefix => "home"
  = f.region_select [:province, :city, :district], :prefix => "work"

预选则省份:

= form_for @article do |f|

  = f.region_select [:province, :city, :district], province: "chongqing"

  OR

  = f.region_select [:province, :city, :district], province: "重庆市"

优先选择:

= form_for @article do |f|

  = f.region_select [:province, :city, :district], priority: { province: ["重庆市"], district: %w(巴南区 北碚区 渝北区) }

Contributing

We have a list of valued contributors. Check them all at:

https://github.com/encoreshao/china_regions/graphs/contributors

License

ChinaRegions is released under the MIT license.