gpt4 book ai didi

ruby-on-rails - Rails : How should Phusion Passenger and I18n. 区域设置行为?

转载 作者:行者123 更新时间:2023-12-04 07:28:33 25 4
gpt4 key购买 nike

我有一个在 Passenger/REE 上运行的 Rails 2.2 网络应用

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

config.i18n.default_locale = 'en-GB'

第一个请求似乎没有在 I18n.locale 中设置语言环境

如果我访问一个带有设置 I18n.locale 的 before_filter 的页面,那么每次后续访问任何 Controller 时,即使它没有设置 I18n.locale 的相同 before_filter 也会得到一个 I18n.locale例如,en-US

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

如果这是乘客的正常行为,请提供任何帮助。

最佳答案

Mongrel resets the locale "automatically" because it handles almost every request with a different thread, while Phusion Passenger handles everything with the same thread.

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

只要确保您在每个请求中都为用户的首选语言环境设置了语言环境。

我遇到了同样的问题,因为我只是在传入参数告诉站点更改语言环境时才设置语言环境。我想无论您是否使用 Phusion Passenger,这都是您必须始终设置的内容。

关于ruby-on-rails - Rails : How should Phusion Passenger and I18n. 区域设置行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com