【发布时间】:2010-07-16 12:22:02
【问题描述】:
我在视图中发现了一些开源代码,带有类似于 HTML 转义序列 h() 的 t() 标签。
<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%>
t() 是什么意思?
【问题讨论】:
标签: html ruby-on-rails ruby escaping
我在视图中发现了一些开源代码,带有类似于 HTML 转义序列 h() 的 t() 标签。
<%= f.label :password, t(:password, :scope => "activerecord.attributes.user") -%>
t() 是什么意思?
【问题讨论】:
标签: html ruby-on-rails ruby escaping
t(keys, options = {})
翻译的别名
翻译(键,选项 = {})
代表I18n#translate,但还执行两个附加功能。首先,它会捕获MissingTranslationData 异常并将它们转换为包含缺失键的内联跨度,这样您就可以在视图中看到缺失的位置。
其次,如果键以句点开头,它将按当前部分来确定键的范围。因此,如果您从 people/index.html.erb 模板调用translate(".foo"),您实际上将调用I18n.translate("people.index.foo")。这使得在同一部分中翻译许多键的重复性降低,并为您提供了一个简单的框架来一致地确定它们的范围。如果您没有在密钥前面加上句点,则不会进行任何转换。
此方法也别名为 t
【讨论】:
在config/locales中翻译.yml文件中的key
t(:password)
键是“密码”
【讨论】: