2013-08-24 69 views
0

使用Rails 3.2和validates_timeliness寶石〜> 3.0我遇到了這樣的問題:的Rails:validates_timeliness拒絕驗證日期字符串

數據爲通過後提交給我的創建方法:

stuff... "purchase_date"=>"08/13/1998", ...

結果:

is not a valid date

我使用Formtastic和Java腳本日期選擇器來生成語義表單,並且數據以字符串形式進入我的控制器。這可能是問題還是有其他我錯過了?

+0

是purchase_date數據庫上的日期時間字段? – usha

+0

您是否檢查過該寶石支持的格式?這不是一個有效的'dd/mm/yyyy'日期,畢竟它是一個有效的'mm/dd/yyyy'日期。 –

+0

它是數據庫中的「日期」類型,但驗證在擊中數據庫之前失敗。 –

回答

0

所以,萬一別人運行到這一點,有創建的初始化當你引導validates_timeliness稱爲validates_timeliness.rb。繼@ mu_is_too_short的帶領下,我增加了以下兩行到本文件:

config.use_plugin_parser = true config.parser.add_formats(:date, 'mm[/-]dd[/-]yyyy')

這些結果是,允許美國日期被識別,方法是連字符或斜槓分隔。 ISO日期由解析器自動識別。

相關問題