Flux RSS

Convertir un Array en Hash en Ruby (pour le select de formtastic)

Posté le Dimanche 13 février 2011 in Formtastic, Snippets

Voici un petit snippet en Ruby permettant de transformer un Array sous la forme :

  COUNTRIES = [
    "Kingdom of Morocco",
    "People's Democratic Republic of Algeria",
    "Great Socialist People's Libyan Arab Jamahiriya",
    "Kingdom of Saudi Arabia",
    "Hashemite Kingdom of Jordan",
    'Syrian Arab Republic',
    "United Arab Emirates",
    "Republic of Yemen",
    "Islamic Republic of Iran"
  ]

En Hash sous la forme :

{
 "Kingdom of Morocco"=>0,
 "People's Democratic Republic of Algeria"=>1,
 "Great Socialist People's Libyan Arab Jamahiriya"=>2,
 "Kingdom of Saudi Arabia"=>3,
 "Hashemite Kingdom of Jordan"=>4,
 "Syrian Arab Republic"=>5,
 "United Arab Emirates"=>6,
 "Republic of Yemen"=>7,
 "Islamic Republic of Iran"=>8
}

Voici donc le Snippet

  def self.countries_with_ids
    Hash[*COUNTRIES.collect { |c|
        [c, COUNTRIES.index(c)]
    }.flatten]
  end

Particulièrement efficace avec les input select de formtastic

Soyez le premier à soumettre un commentaire !

Soumettez un commentaire

WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera