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

Join us

Continue the conversation

Phone
0 805 69 35 35

Our latest news

Our latest tweets

Pour échanger autour de nos vidéos, rendez vous directement sur notre chaine Youtube https://t.co/YHSF65VEqI

Hackademy : Découvrez en vidéo la mise en place et l'impact d'index composites avec #postgresql http://t.co/jdCuDzma66

Présentation des index composites avec #postgresql en vidéo sur #hackademy https://t.co/k9BfpxDISo