我在 Rails 应用程序中确实有一个具有以下定义的模型(我使用的是 Mongoid):
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
如何防止这种行为,以便无法保存记录并向用户显示验证错误?
谢谢你的帮助!