2012-03-28 18 views
1

在轨如果你有一个资源(例如书籍)的URL将其创建为在与国际化,表单提交处理错误

/books/new 

如果当您尝试创建一个新的书(资源)有错误url变成

/books 

这对我来说是国际化造成的问题。如果用户在创建新书时出现错误,他们将看到一些错误消息,并且他们将被置于URL /books。如果我的用户出于某种原因使用了“错误”语言,那么当他们尝试更改语言时,他们会看到不同的页面,因为它们代替/books/new,它们位于/books。不仅如此,但他们改变语言后,错误信息将不再存在。

你们如何处理这些情况?我应该不让用户在提交新书时改变语言?我确信必须有更好的解决方案。

回答

0

在你创建的动作,可以通过固定您的语言环境I18n.locale即使是在你的书参数,可以像得到所有的时间的语言:

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

如果您在创建固定的语言环境您可以确保用户看到良好的语言环境。