我正在爲一個音樂會巡迴網站提供應用程序,其中所有時間(通知時間,開售時間和活動開始時間)都是每個特定場地的時間區。在適用的情況下,我輸入用戶輸入的日期/時間並運行before_filter以設置適當的時區,以便所有內容都以UTC格式保存在數據庫中。對於'新'形式,並在索引和顯示動作中顯示時間,完全沒有問題。當數據被帶出數據庫並進入視圖時,我使用in_time_zone根據特定場地進行調整。Rails - 指定時區內的日期時間選擇
唯一的問題是在編輯窗體上。日期/時間選擇以UTC顯示數據。當我在網站上工作時,我會進行精神上的調整,但對於其他人來說,這是令人困惑的。我想沿着線做一些事情:
<%= f.datetime_select :start_datetime.in_time_zone(@event.time_zone) %>
或者,在控制器:
def edit
@performance = Performance.find(params[:id])
@event = @performance.event
@performance.start_datetime = @performance.start_datetime.in_time_zone(@event.time_zone)
end
然後簡單,<%= f.datetime_select :start_datetime %>
。
不幸的是,我還沒有找到正確的方法來做到這一點。你有什麼想法值得一試?
非常感謝。