Wie kann ich eine Übersetzung eines Datenbankspaltennamens als Tabellenüberschrift in einer Ansicht anzeigen, Rails 3?

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

Frage

Ich habe ein Modell namens User mit einem Attribut namens current_sign_in_at.In meinem en.yml Datei Ich habe den Anzeigenamen als solchen ...

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

…wodurch ich mit „Letzte Anmeldung“ die gewünschte Formularbeschriftung anzeigen kann = f.label :current_sign_in_at.

Aber wie kann ich dieselbe Übersetzung für einen Tabellenkopf verwenden, d. h.nicht in einer Form?

%th= :current_sign_in_at
War es hilfreich?

Lösung

Sie können die statische Methode „human_attribute_name“ verwenden. Sehen Sie sich das Dokument hier im API-Dock an

In Ihrem Fall:

%th= User.human_attribute_name :current_sign_in_at

(verwenden User.human_name um den mit I18n übersetzten Modellnamen anzuzeigen en.activerecord.models.user)

Hoffe das hilft!

Andere Tipps

Eine weitere Option für internationalisierte Tabellenüberschriften ist die table_for gem.

Dadurch können Sie Erb-Code schreiben wie:

<%= table_for @user do |table| %>
  <% table.column :current_sign_in_at %>
<% end %>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top