Comment puis-je afficher une traduction d'une base de données nom de la colonne comme un titre de tableau dans une vue, Rails 3

StackOverflow https://stackoverflow.com//questions/12712397

Question

J'ai un modèle appelé User avec un attribut appelé current_sign_in_at.Dans mon fr.yml fichier j'ai le nom d'affichage en tant que tel...

en-GB:
  activerecord:
    attributes:
      user:
        current_sign_in_at: "Last sign-in"

...ce qui me permet d'afficher la forme désirée de l'étiquette ("Dernière connexion") à l'aide de = f.label :current_sign_in_at.

Mais comment puis-je utiliser cette même traduction pour un en-tête de tableau, c'est à direpas dans un formulaire?

%th= :current_sign_in_at
Était-ce utile?

La solution

Vous pouvez utiliser la méthode statique "human_attribute_name", Voir la doc ici sur dock API

Dans votre cas:

%th= User.human_attribute_name :current_sign_in_at

(utilisation User.human_name pour afficher le nom du modèle traduit avec I18n dans en.activerecord.models.user)

Espérons que cette aide!

Autres conseils

Une autre option pour l'internationalisation de la table des en-têtes est l' table_for gem.

Cela vous permettra d'écrire du code erb comme:

<%= table_for @user do |table| %>
  <% table.column :current_sign_in_at %>
<% end %>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top