Plusieurs postes sont ouverts, consultez nos besoins et déposez nous une candidature.
Martin Catty
19 10 2011

Proposer une liste de valeurs avec l'i18n de rails

posté par dans les catégories tips

Proposer plusieurs options dans un select avec l’i18n

Bien souvent dans une application vous avez besoin de proposer une liste de valeurs plus ou moins fixes parmi lesquelles l’utilisateur doit faire un choix, par exemple pour choisir sa civilité.

Plutôt que d’utiliser une constante pour stocker un hash clé / valeur des options, ou maintenir un système autre, j’utilise l’i18n de rails.

Cela offre une solution très souple, voyez plutôt:

# fr.yml
                    gender:
                      miss: "Mademoiselle"
                      mrs: "Madame"
                      mr: "Monsieur"
                    
                    # code avec formtastic
                    f.input :gender, :as => :select, :collection => I18n.t("gender").map(&:reverse)
                    

J’ai parlé d’utiliser des valeurs fixes mais vous pouvez très bien ajouter progressivement des valeurs dans votre fichier d’i18n qui seront automatiquement disponibles dans vos vues.

C’est bien entendu encore plus avantageux quand vous travaillez sur une application multilingue.

L’équipe Synbioz.

Libres d’être ensemble.

Commentaires (4) Flux RSS des commentaires

  • Bob

    19/10/2011 à 12:14

    Super intéressant ça !

    Par contre ma connaissance de la syntaxe ruby "&:reverse" m'échappe...

  • Martin Catty

    19/10/2011 à 12:18

    Merci Bob. Concernant le &:reverse, c'est un raccourci syntaxique, c'est comme si je faisais I18n.t("gender").map { |v| v.reverse }

  • Bob

    19/10/2011 à 12:29

    Ok ok, c'est effectivement plus clair.

  • Myre

    08/11/2011 à 12:04

    J'ai essayé votre solution proposé mais dans mon select affiché j'ai qu'une seule option avec toutes les options sur la même ligne, cela viendrait de ma version de Ruby REE ?

Ajouter un commentaire

Notre expérience vous intéresse ? Inscrivez-vous à nos articles !

×

Newsletter

Rejoignez-nous !

Poursuivons la conversation

N° Vert
0 805 69 35 35

Nos dernières nouvelles

Nos derniers tweets

Nous sommes de retour en forme et bronzés après un point annuel à Barcelone. Pleins d’énergie pour vos projets !

Intégrer de jolis graphiques a #angularjs avec #c3js http://t.co/8IrQYSvphV

Aujourd’hui venez faire le plein d’astuces autour de #zsh pour optimiser votre productivité http://t.co/pgSGUkJtWu