Rails:Phusion Passenger和I18n.locale应该如何表现?

我在Passenger / REE上运行了一个Rails 2.2 Web应用程序

我在config/environment.rb设置了默认语言config/environment.rb

 config.i18n.default_locale = 'en-GB' 

第一个请求似乎没有在I18n.locale设置区域设置

如果我访问一个带有before_filter的页面,该页面在每次后续访问任何控制器时设置I18n.locale,即使它没有相同的before_filter设置,I18n.locale也会获得I18n.locale,无论设置如何,例如, en-US

在具有相同代码的Mongrel上,每个请求都获得en-GB的语言环境,默认情况下,直到由before_filter显式设置。

如果这是正常的乘客行为,任何帮助升值锻炼。

Mongrel“自动”重置语言环境,因为它几乎处理每个具有不同线程的请求,而Phusion Passenger使用相同的线程处理所有内容。

作为对此的破解,在之前的filter中,您始终可以在根据其他参数设置区域设置之前将区域设置设置为nil。 这样,它将始终将语言环境设置的最后一个值重置为nil。

只需确保您在每个请求上为用户首选的语言环境设置语言环境。

我有同样的问题,因为我只是设置了语言环境,如果传入参数告诉站点更改语言环境。 我想无论你是否使用Phusion Passenger,这都是你必须设置的东西。