Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does the 't()' tag mean in Ruby on Rails?

I came across some opensource code in views, with a t() tag similar to the HTML escape sequence h().

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

What does t() mean?

like image 730
Vineeth Pradhan Avatar asked Jul 16 '10 12:07

Vineeth Pradhan


1 Answers

t(keys, options = {})

Alias for translate

translate(keys, options = {})

Delegates to I18n#translate but also performs two additional functions. First, it‘ll catch MissingTranslationData exceptions and turn them into inline spans that contains the missing key, such that you can see in a view what is missing where.

Second, it‘ll scope the key by the current partial if the key starts with a period. So if you call translate(".foo") from the people/index.html.erb template, you‘ll actually be calling I18n.translate("people.index.foo"). This makes it less repetitive to translate many keys within the same partials and gives you a simple framework for scoping them consistently. If you don‘t prepend the key with a period, nothing is converted. This method is also aliased as t

like image 82
Bohdan Avatar answered Oct 09 '22 23:10

Bohdan