Russian country list
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
source
.gitignore
.travis.yml
CHANGELOG.md
Gemfile
LICENSE.txt
README.md
Rakefile
ruscountrylist.gemspec

README.md

Ruscountrylist

Список стран на русском языке.

Russian country list.

За основу взят список стран http://www.artlebedev.ru/tools/country-list/

Требования

  • Ruby 1.9.3 (возможо, подойдет версия старше)
  • Rails 3.2 (возможо, подойдет версия старше)

Установка

Add this line to your application's Gemfile:

gem 'ruscountrylist'

And then execute:

$ bundle

Or install it yourself as:

$ gem install ruscountrylist

Как использовать

Список стран без генерации модели

В переменной содержится список стран

Ruscountrylist::RUS_COUNTRIES

Вывести список в select можно вот так:

select_tag "countries",  options_for_select(Ruscountrylist::RUS_COUNTRIES)

Получаем:

<select id="countries" name="countries"><option value="Абхазия">Абхазия</option><option value="Австралия">Австралия</option>...</select>

###Установка с моделью по умолчанию: Country

Генерация модели и миграции

$ rails generate ruscountrylist

Выполнение миграции

$ rake db:migrate

Заполнение таблицы countries

$ rake ruscountrylist:install

Модель с другим именем

Генерируем модель с именем "mymodel":

$ rails generate ruscountrylist --model=mymodel

Миграция:

$ rake db:migrate

Заполняем таблицу mymodels значениями:

$ rake ruscountrylist:install[mymodel]

Использование после миграции

В контроллер добавляем:

@countries = Country.all

В шаблоне (на примере slim)

select_tag 'countries', options_from_collection_for_select(@countries, 'id', 'name')

Таблица стран

Содержит следующие поля:

* string   "name" - Наименование
* string   "fullname" - Полное наименование
* string   "english" - На английском
* string   "alpha2" - Alpha2, двухбуквенное обозначение страны, RU
* string   "alpha3" - Alpha3, трехбуквенное обозначение страны, RUS
* string   "iso" - ISO код
* string   "location" - Часть света
* string   "location_precise" - Расположение
* boolean  "enabled",          :default => true - возможность включать и выключать запись
* integer  "show_order",       :default => 0 - порядок вывода, 0 - по умолчанию.

Индекс по полю name (наименовение) с проверкой уникальности.

Модель

По умолчанию модель создается с следующим

# attr_accessible :title, :body

Если будет желание редактировать страны, то для модели можно добавить такой код:

attr_accessible :name, :fullname, :english, :alpha2, :alpha3, :iso, :location, :location_precise, :enabled, :show_order

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Авторы

  • vasche