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 !