2013-05-15 85 views
0

我創建這需要國家表Rails項目。我還想將國家代碼包括進去。我發現幫助建立從GitHub國表裏,它看起來像這樣:加入國際電話區號與國家表列表

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. 在C1的說:

    =SUBSTITUTE(A1,")"," :call_code => "&VLOOKUP(MID(A1,B1,FIND("'",A1,B1)-B1),cArray,2,0)&")") 
    
  6. 複製B1:C1到訴訟。

  7. 儘可能多地將ColumnC複製到您的代碼中。

cArray不需要在同一張紙上。