我开始一个项目,并计划使用en.yml文件保持字符串分离。我保持由控制器和行动,即组织的字符串:Rails - 如何在调用“render”时确定原始控制器和操作?
en:
users:
new:
title: "Sign up"
email_label: "E-mail address:"
password_label: "Password:"
password_confirmation_label: "Password confirmation:"
submit: "Sign up"
我希望写的作品在哪里它正在从这样我可以只是调用s("email_label")
而不是t("users.new.email_label")
称为方法:
def s(str, locals{})
t("#{params[:controller]}.#{params[:action]}.#{str}", locals)
end
这对于用户/新页面非常有用,但是在处理“创建”操作时,如果它失败,它会在内部调用render 'new'
。重新呈现的页面然后将在'users.create'中而不是'users.new'中查找字符串。
有没有办法解决这个问题,而不覆盖params [:action]的值,或者在每个视图的顶部手动设置变量?
在此先感谢
如果您希望通过控制器/操作来确定您的CSS范围,则会出现同样的烦恼。我希望有人有一个答案! – cailinanne