我對Rails比較陌生,我正在構建一個處理天氣數據的應用程序。我的主要用途將在美國境內,因此向用戶展示的內容大概是華氏溫度。我使用的數據饋送是攝氏溫度。在哪裏從華氏轉換爲攝氏在Rails應用程序?
我會解決這個問題的正常方法是在模型中有一個celsius
列,然後自定義的fahrenheit
模型方法將從F轉換爲C.但是,由於各種設計決策,我沒有特定的字段對於溫度。
我看到一些替代品;(TL博士,我跟蹤了很多不同的環境條件而不僅僅是天氣,所以我有一個通用的value
列和type
列。):
- 商店˚F內部。只有在使用天氣數據Feed時才轉換爲C.假設我從來沒有一個擁有合理測量系統的地區的用戶。
- 在內部存儲C。在視圖中轉換爲F(如果用戶的偏好是看F)。這是非常棘手的,因爲就我所知,轉換
value
的公式需要在Rails視圖和JS中實現。 - 在內部存儲C。根據上下文轉換爲F,即當創建一個記錄,其中
type
是溫度並且用戶具有華氏溫度偏好時,運行執行轉換的before_save
回調。我不知道該怎麼做讀...
什麼是正確的方式來構造這?謝謝!
雖然這是公認的答案,但我強烈建議不要這樣做。這有重複數據和應用程序和數據庫不必要的複雜性。接受的答案應該是將其描述爲演示問題的答案,即使用JavaScript或至少一個PORO ViewModel/Presenter類來處理它。 – Todd