3

在我的模型中,我有一個departure_date和一個return_date。ActiveRecord/Rails中的日期格式3

我正在使用text_field而不是date_select,以便我可以使用JQuery datepicker。

我的應用程序現在在美國,但我確實希望獲得國際會員。

所以基本上這就是發生了什麼。用戶(美國)鍵入諸如04/01/2010(4月1日)之類的日期。

當然,MySQL的將它存儲爲日期,例如2010-04-01 ...

無論如何,當用戶進入稍後編輯日期,顯示「01/04/2010」,因爲我使用的是strftime(「%m /%d /%Y)」這是沒有意義的......所以它認爲它是1月4日而不是原來的4月1日。準確存儲的數據是供用戶輸入的:2010-04-01

我希望所有這些都有道理。我真正追求的是讓用戶輸入(或使用日期選擇器)的方式日期以其原始格式。

因此,歐洲有人可以在4月1日輸入01/04/2010,但美國有人會輸入04/01/2010。

有沒有一個簡單,優雅的解決方案呢?

感謝您的任何建議。

回答

2

最近我一直面臨同樣的問題。

我的網站基於法國,所以我必須將日期存儲爲法語日期。

我也使用Jquery DatePicker。

爲此,我將I18n.locale設置爲訪問者的國家。對於爲例:

I18.locale = :fr 

您可以使用的before_filter做到這一點到您的application_controller

然後,進入你的語言環境/你fr.yml可以定義要顯示日期的方式

最後,進入你的視圖,你可以用JqueryDatePicket屬性設置日期格式視圖。

如果我記得很清楚,這是梅索德類似的東西:

$.datepicker.formatDate('dd-mm-yyyy'); 

您仍然可以找到它的日期選擇文檔上。

而且這種格式可以發現爲例爲您的區域/ fr.yml

而這一切!

希望這會有所幫助!

+0

謝謝!我會檢查一下。 – cbmeeks 2010-06-03 16:46:16