2010-07-16 16 views
6

Mi sono imbattuto in un codice opensource in visualizzazioni, con un tag t() simile alla sequenza di escape HTML h().Cosa significa il tag 't()' in Ruby on Rails?

<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%> 

Che cosa significa t()?

risposta

17

t (chiavi, opzioni = {})

Alias ​​per tradurre

traducono (chiavi, opzioni = {})

I delegati alla I18n#translate ma svolge anche due funzioni aggiuntive. Per prima cosa, prenderà le eccezioni MissingTranslationData e le trasformerà in span inline che contengono la chiave mancante, in modo tale che tu possa vedere in una vista cosa manca dove.

In secondo luogo, verrà applicata la chiave per il parziale corrente se la chiave inizia con un punto. Quindi se chiami translate(".foo") dal modello people/index.html.erb, chiamerai in realtà I18n.translate("people.index.foo"). Ciò rende meno ripetitivo la traduzione di molte chiavi all'interno degli stessi partial e offre un framework semplice per renderle coerenti. Se non si antepone la chiave con un punto, non viene convertito nulla. Questo metodo è anche alias come t

+0

Grazie per la rapida rispondere! – Vineeth

0

fare la traduzione di chiave nel file .yml in config/locali

t (: password)

chiave è "password"