Ruby on rails 根据用户配置文件设置格式化日期

Ruby on rails 根据用户配置文件设置格式化日期,ruby-on-rails,Ruby On Rails,我们应用程序的每个用户可以有不同的日期和时间格式。我知道日期格式取决于用户的语言和时区 我想我可以尝试在ApplicationController中运行类似于Date::Date\u FORMATS[:default]=%m/%d/%Y“。在本例中,Date.today.to_将返回属性格式的日期。它是线程安全的吗 我正在研究的另一个选项是使用不同的键将配置文件存储到config/locales/en.yml,如en_-US,en_-GB,en_…,并将区域设置名称存储到用户的配置文件中。在这种

我们应用程序的每个用户可以有不同的日期和时间格式。我知道日期格式取决于用户的语言和时区

我想我可以尝试在ApplicationController中运行类似于
Date::Date\u FORMATS[:default]=%m/%d/%Y“
。在本例中,Date.today.to_将返回属性格式的日期。它是线程安全的吗


我正在研究的另一个选项是使用不同的键将配置文件存储到
config/locales/en.yml
,如
en_-US
en_-GB
en_…
,并将区域设置名称存储到用户的配置文件中。在这种情况下,我需要使用I18n.localize来格式化日期。如果在特定的
en\u-US
中找不到键,是否可以退回到
en

对于
Date::Date\u格式
TIME::Date\u格式
,不幸的是,您需要格外小心,以使其使用线程安全。然而,这不应该太难做到

至于您的第二个问题,我相信您关心的是区域设置回退,以及。此功能可通过以下方式轻松启用:

I18n::Backend::Simple.include(I18n::Backend::Fallbacks)