dm-timestamps が created_at および updated_at フィールドを自動設定する前に、DataMapper の検証が実行されるようです。
次の点を考慮してください。
require 'dm-core'
require 'dm-migrations'
require 'dm-timestamps'
require 'dm-validations'
class MyResource
include DataMapper::Resource
property :mykey, Serial, :key=>true
property :created_at, DateTime, :required=>true
property :updated_at, DateTime
end
resource = MyResource.new
resource.save #fails
created_at が空白であるため、保存は失敗します。興味深いことに、「require dm-validations」をコメントアウトするだけで、問題は解決します。もちろん、単に ":required=>true" を :created_at から削除することもできますが、それは私が求めているものではありません。created_at は必須です。dm-timestamps を使用して自動的に設定しているだけです。
他の誰かがこれを見ましたか?解決策はありますか?