我尝试在控制器中检索一些翻译,但范围将被忽略。 例如:
在create action中的UsersController
t(".notice")
会寻找' notice'在第一级(即en - >通知)a不在en - >用户 - >创建 - >注意。 我怎样才能激活"范围,以便我不必进入
t("users.create.notice")
每次。
为什么默认情况下会为视图激活范围的延迟查找,而不是控制器?
使用rails 3.2
答案 0 :(得分:2)
不幸的是,除非你升级到Rails 4,否则你运气不好。
Rails i18n guide section 3.2.13 on "lazy" lookups说:
Rails实现了在视图
中查找区域设置的便捷方式
(强调他们的;懒惰查找功能仅限于Rails 3.2中的视图)
This is the commit to Rails 4也将“懒惰”查找带入控制器。
截至撰写本文时, The latest Rails i18n guide表示延迟查找在Rails 4中仅供查看,但由于您可以在t(".notice")
操作中使用UsersController#create
,因此它不再正确并取回预期值。