Go to Hackademy website

Proposer une liste de valeurs avec l'i18n de rails

Martin Catty

Posté par Martin Catty dans les catégories back

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.

Articles connexes

Une brève histoire d'Elixir et Erlang/OTP

31/01/2019

Je développe depuis plusieurs années en Ruby. Depuis mon arrivée chez Synbioz, j’expérimente en plus avec Elixir de façon assez naturelle. En quoi Elixir est-il différent, me demanderez-vous ? Pour...

Écrire une thread pool en Ruby

10/01/2019

Pouvoir exécuter plusieurs tâches en parallèle, que ce soit dans un script ou une application, peut être vraiment très utile, surtout dans le cas où le traitement de ces tâches peut être très long....

Translation temporelle

31/05/2018

Cette semaine, je me suis essayé à un nouveau format d’article qui se présente sous la forme d’une nouvelle de Science-Fiction. Je tiens en passant à remercier Valentin pour ses illustrations....

Authentifier l'accès à vos ressources avec Dragonfly

11/05/2017

Pour ceux qui ne connaissent pas Dragonfly, c’est une application Rack qui peut être utilisée seule ou via un middleware. Le fait que ce soit une application Rack la rend compatible avec toutes les...