2

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

レコードを保存できず、検証エラーがユーザーに表示されるように、この動作を防ぐにはどうすればよいですか?

ご協力いただきありがとうございます!

4

1 に答える 1