为用户存储TimeZone和货币

Har*_*M V 4 timezone currency ruby-on-rails mongodb

我们希望允许用户在用户设置中存储他们对时区和货币的偏好.

我们使用Rails 4和MongoDB与MongoID.是否有任何创业板允许我们这样做?

什么数据类型最适合存储它们,因为所显示的站点上的所有时间都必须转换为所需的时区.

Mat*_*int 9

如果您正在使用Rails时区,那么您将存储与该时区关联的标识符.例如"东部时间(美国和加拿大)".但是,我建议您不要使用Rails时区,原因是时区标签wiki(靠近底部)中列出的原因.

相反,您应该使用tzinfo gem,它使用IANA/Olson数据中的标准化时区.例如,"America/New_York".

货币最好存储为三字母ISO 4217货币代码.例如"USD"或"EUR".

  • 如果您存储 IANA 版本而不是 Rails 版本,则可以更有效地在数据库中执行时区相关查询。例如,PostgreSQL 内置了 IANA 时区转换。 (2认同)