ChinaRegions 提供中国的省,市,区[地级市]的 Ruby on Rails的程式代码,代码版本要求 Ruby(> 1.9.x)和Rails(> 4.0).
- 民政部、国家统计局:
- 本项目已更新至:
复制所需文件到你的项目中:
rails g china_regions:regions
添加以下代码到你的 Gemfile:
gem 'china_regions'
安装:
bundle install
复制所需文件到你的项目中:
rails g china_regions:install
随后你可以看到控制台发生的变化:
- 复制
db/migrate/xxxxxxxxxxx_create_china_regions_tables.rb
文件到db/migrate
目录中 - 复制
regions.en.yml
和regions.zh.yml
配置文件到config/locales
目录中
创建所需的表 (provinces, cities, districts):
rake db:migrate
将所需的模型(Models) [Province
, City
, District
] 到您的应用程式中:
rails g china_regions:regions
查看 app/models:
- create app/models/province.rb
- create app/models/city.rb
- create app/models/district.rb
下载并导入最新数据到你的项目中:
rake china_regions:all
OR
rake china_regions:download
rake china_regions:import
-
- 从
Administrative-divisions-of-China
下载最新的地区信息到db/regions
目录中.
- db/regions/pca-code.json
- 从
-
- 将下载后的地区信息导入数据库中
范例:
= 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(巴南区 北碚区 渝北区)
}
你可以在这里查看到所有的代码贡献者: https://github.com/encoreshao/china_regions/graphs/contributors
Copyright © 2020-02 Encore Shao. See LICENSE for details.