我有一個多租戶導軌應用程序和一些模型有一個日期字段。是否有可能爲每個記錄有不同的時區。我會做一些類似於添加時區的字段,然後執行Date.somemethodthatsetstimezone(timezone).now()
?對不起,如果這是一個壞問題。Mutli Tenant App時間區域導軌
0
A
回答
2
你的問題的簡短答案是肯定的 - 但要確保你知道你在做什麼。
你會想看看ActiveSupport::TimeZone和ActiveSupport::TimeWithZone。 ActiveSupport :: TimeZone提供時區作爲值對象作爲字符串訪問。例如,您可以將字符串'Eastern Time (US & Canada)'
存儲在模型的time_zone列(假設爲@project
),然後使用ActiveSupport::TimeZone[@project.time_zone]
檢索時區實例。
您可以使用類似Time.zone = 'Eastern Time (US & Canada)'
的設置來設置當前進程的時區。 Rails還允許您在應用程序配置中爲您的應用程序配置時區。
您可以撥打Time.zone.now
返回設置當前ruby進程的時區中的當前時間(作爲ActiveSupport::TimeWithZone
的實例)。
您可以撥打Time.now.in_time_zone('Eastern Time (US & Canada)')
以獲取給定時區中的當前時間。
你甚至可以設置時區的代碼塊:
Time.use_zone('Eastern Time (US & Canada)') do
# do stuff in eastern time
Time.now
# => current eastern time
end
這種方法允許你設置時區爲整個軌請求,利用從模型的時區和周圍過濾器:
around_filter :project_time_zone
# actions use project's configured time zone
private
def project_time_zone(&block)
Time.use_zone(@project.time_zone, &block)
end
其中一種方法應該爲您提供您所需要的。
相關問題
- 1. 導軌區域功能
- 2. 導軌 - 重定向與區域
- 3. 導軌形式和時區
- 4. 帶導軌的時區3
- 5. 導軌之間的區別與差異
- 6. 導軌2.3.10和3.0.3之間的區別?
- 7. 導軌 - 速度和時間
- 8. 國際化導軌3 app
- 9. 沒有導軌的ActiveRecord時區
- 10. 查詢postres與導軌和時區
- 11. 帶導軌的自動時區數學
- 12. 在datetime上的時區導軌問題
- 13. multi-tenant asp.net
- 14. 導軌session_store多個域
- 15. 時間區驗證軌道4,5:時區不包括在名單
- 16. Primefaces嚮導區域
- 17. 帶示波器區域設置的導軌路線
- 18. 導軌 - 預填充文本區域與現有的屬性
- 19. 導軌和區域rspec的觀點,沒有路由匹配
- 20. 通過單擊按鈕添加文本區域 - 導軌4
- 21. 取決於時間的導軌視圖
- 22. 導軌的靈活開放時間爲
- 23. 減少導軌啓動時間
- 24. 導軌utc_to_local和夏令時間
- 25. 導軌中的時間偏移
- 26. 如何在不同的時區顯示選擇日期時間的導軌?
- 27. 無法在導軌中正確使用日期/時間比較。時區問題。
- 28. 軌跡與同一區域的圓之間的交集
- 29. Php:獲取當前區域的時間
- 30. Rails:TimeWithZone比較不同區域的時間