2

我有一个default_locale设置为.Rails 3.2.3 的应用程序:nl。当我使用 Thin 或 Unicorn 启动应用程序时,应用程序的区域设置为:en. 当我使用 Webrick 时,区域设置正确设置为:nl.

此更改是由更新多个第三方 gem 的提交触发的,尽管我无法特别挑出任何一个 gem 升级——我可以单独反转它们中的每一个并获得相同的结果。但是,当我检查有问题的提交的父级时,一切都很好。

当我在生产模式下在远程服务器上运行该应用程序时,一切正常,因此它似乎在我的机器上。

我已经删除了每个已安装的 gem 并重新安装了它们,这没有任何区别。

有谁知道什么可能触发这种行为?尤其是为什么使用 webrick 或 unicorn 会有所作为?

编辑:我已经确定了通过将 Draper 从 0.11 升级到 0.12 来触发的错误(Github 上的问题)。不知道是不是也是这个原因。

4

3 回答 3

0

我设法将此问题归结为我自己的 Rails 应用程序中的一个不良做法,该做法通过升级 Draper gem 导致了一个错误。Draper 文档中有完整的解释。

于 2012-05-18T13:06:43.007 回答
0

这个问题在我被“active_admin”gem 触发之前就发生过,你可能想使用早期版本来防止这种情况,我真的不知道是哪个,所以你可以稍微玩一下。

另一种选择是在 before_filter 中设置 active_admin 语言环境,

config.before_filter :set_admin_locale

而 set_admin_locale 在 application_controller 中:

def set_admin_locale
  I18n.locale = :nl
end 

希望它有所帮助

于 2012-05-14T11:19:44.183 回答
0

http://labs.revelationglobal.com/2009/11/13/unicorn_and_i18n.html

于 2012-05-14T11:01:14.473 回答