处理国际化和表单提交错误

时间:2012-03-28 07:33:13

标签: ruby-on-rails rest internationalization

在rails中,如果您有资源(示例书籍),则将其创建为

/books/new

如果在尝试创建新书(资源)时出现错误,则网址将变为

/books

这给国际化带来了问题。如果用户在创建新图书时出错,他们会看到一些错误消息,并将其放在网址/books上。如果我的用户由于某种原因使用了“错误”的语言,那么当他们尝试更改语言时,他们会看到不同的页面,而不是/books/new他们在/books上。不仅如此,在更改语言后,错误消息将不再存在。

你们如何处理这些情况?我是否应该让用户在提交新书时更改语言?我相信一定有更好的解决方案。

1 个答案:

答案 0 :(得分:0)

在您的创建操作中,您可以通过修复您的语言环境I18n.locale来随时获取语言,即使它位于您的书籍参数中,例如:

I18n.locale = params[:book][:locale]

如果您在创建操作中修复了区域设置,则可以确保用户看到了正确的区域设置。