如何获取多租户Rails应用程序/ ActiveRecord来存储不同区域中的租户的日期/时间?

时间:2019-07-01 20:53:00

标签: ruby-on-rails date timezone rails-activerecord multi-tenant

我有一个Rails应用程序,可以为多个租户应​​用程序提供服务。这些租户可以存在于不同的时区,例如纽约和洛杉矶。这些租户应用程序处理付款并将数据发送到我的应用程序。我正在使用PostgreSQL。

要发送的数据带有时间戳,其中包括租户所在时区的偏移量。当我的应用程序接收并保存此数据时,ActiveRecord会将其转换为不带偏移量的UTC。

是否可以将ActiveRecord配置为在将数据保存到DB时保留时区偏移?

1 个答案:

答案 0 :(得分:0)

始终将日期时间保存在utc中。 每当在视图中显示时间戳时,请使用

@post.created_at.in_time_zone(current_site.timezone)

current_site.timezone应该返回与位置相对应的时区字符串。