dm-timestampsがcreated_atおよびupdated_atフィールドを自動設定する機会がある前に、DataMapperの検証が実行されているようです。DataMapper:dm-timestampsはdm-validationsでうまく再生されませんか?
は、次のことを考えてみましょう:
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を使用していることです。
誰でもこれを見ましたか?解決策はありますか?