2
我有以下定義Rails應用程序(我用Mongoid)內的模型中:爲什麼Ruby的解析「富」到01.01.1970 Date類型
field :date, type: Date
我包括字段中的字段作爲text_field(f.text_field)。一切正常,如果我輸入有效的日期。但是當我在這個字段中輸入一些文本(例如'foo')時,日期被解析爲01.01.1970。我不是手動解析日期,而我使用下面的代碼:
@offer = Offer.new(offer_params)
我也查了Ruby控制檯上:
>> offer = Offer.new
...
>> offer.date = 'foo'
"foo"
>> offer.date
Thu, 01 Jan 1970
>> offer.date.is_a? Date
true
我怎樣才能防止這種行爲,這樣的記錄可以不會被保存,驗證錯誤會顯示給用戶?
感謝您的幫助!
好的。但不應該以某種方式由ActiveRecord/Mongoid處理?猜猜這不是一個不常見的情況,用戶可以在文本字段中輸入日期,應用程序需要解析它。 – rit