2008-10-14 27 views
10

我想只將我的年份存儲在我的某個模型中。目前我只有一個名爲year的數據庫字段,但它似乎想要一個完整的日期(yyyy-mm-dd)而不是一年。如何在Rails應用程序中存儲年份

什麼是最好的方式來存儲這個?在日期字段中,但使用某種方式來存儲日期位(在這種情況下,如何?),或者在int字段,或字符串字段中或什麼?在某些方面使用int字段感覺不對,但它可能是最簡單的。

回答

7

這取決於可能的日期範圍。如果你的日期從BC到遠的未來(負數到4位以上),最簡單的方法就是存儲一個整數(僅僅爲了排序的原因)。如果你想計算或比較日期,也是如此。

否則,我可能會去一個字符串。

使用日期字段使用1月1日,並在顯示時提取年份部分。

4

我建議不要在可維護性的基礎上在日期字段中使用任意選擇的日期。你會知道你已經任意選擇了這個,但會隨後維護你的應用程序嗎?

我會用一個int,因爲這樣你就不會存儲除了你要存儲的東西以外的任何東西,也不會對它的含義產生太多混淆。

相關問題