2013-05-15 4 views
0

Я создаю проект рельсов, для которого требуется таблица стран. Я также хотел бы включить в них коды кодов стран. Я нашел помощь в создании таблицы страны из GitHub и это выглядит следующим образом:Соединительные коды стран в таблице country table

class CreateCountries < ActiveRecord::Migration 
    def change 
    create_table :countries do |t| 
     t.string :name 
     t.string :printable_name 
     t.string :iso2, :size => 2 
     t.string :iso3, :size => 3 
     t.integer :numcode 

     t.timestamps 
    end 
    end 

    Country.reset_column_information 

    Country.create(:iso2 => 'AF', :name => 'AFGHANISTAN', :printable_name => 'Afghanistan', :iso3 => 'AFG', :numcode => '004') 
    Country.create(:iso2 => 'AL', :name => 'ALBANIA', :printable_name => 'Albania', :iso3 => 'ALB', :numcode => '008') 
    Country.create(:iso2 => 'DZ', :name => 'ALGERIA', :printable_name => 'Algeria', :iso3 => 'DZA', :numcode => '012') 

, а затем я также нашел список кодов, призывающие страны и сумел поместить их в таблице:

Afghanistan 93 
Albania 355 
Algeria 213 

Что я хотел бы быстрый способ, чтобы присоединиться к вызывающему коду в приведенном выше списке, так это выглядит следующим образом:

Country.create(:iso2 => 'AF', :name => 'AFGHANISTAN', :printable_name => 'Afghanistan', :iso3 => 'AFG', :numcode => '004' :call_code => 93) 

Любое быстрое решение для достижения этого с помощью Excel или OpenOffice таблицы или MySQL? До тех пор, пока мне не нужно вводить его вручную.

+0

Не могли бы вы уточнить, что вы действительно хотите? Конец вашего вопроса не совсем прост. – Raindal

ответ

0
  1. Скопируйте Country.create строки кода в Excel, скажем, начиная с A1.
  2. Скопируйте свой список кодов в Excel и при необходимости разделите на два столбца (например, с текстом в столбцы).
  3. Назовите результат (скажем CArray).
  4. В B1 положить: =FIND("printable_name => '",A1)+19.
  5. В С1 говоря:

    =SUBSTITUTE(A1,")"," :call_code => "&VLOOKUP(MID(A1,B1,FIND("'",A1,B1)-B1),cArray,2,0)&")") 
    
  6. Copy B1: C1 до костюма.

  7. Скопируйте как можно больше столбца ColumnC в свой код.

cArray не обязательно находиться на одном листе.

Смежные вопросы