我開始一個項目,並計劃使用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