在rails中,如果您有资源(示例书籍),则将其创建为
/books/new
如果在尝试创建新书(资源)时出现错误,则网址将变为
/books
这给国际化带来了问题。如果用户在创建新图书时出错,他们会看到一些错误消息,并将其放在网址/books
上。如果我的用户由于某种原因使用了“错误”的语言,那么当他们尝试更改语言时,他们会看到不同的页面,而不是/books/new
他们在/books
上。不仅如此,在更改语言后,错误消息将不再存在。
你们如何处理这些情况?我是否应该让用户在提交新书时更改语言?我相信一定有更好的解决方案。
答案 0 :(得分:0)
在您的创建操作中,您可以通过修复您的语言环境I18n.locale来随时获取语言,即使它位于您的书籍参数中,例如:
I18n.locale = params[:book][:locale]
如果您在创建操作中修复了区域设置,则可以确保用户看到了正确的区域设置。