Ruby:DatamapperDon';t在数据库中插入

Ruby:DatamapperDon';t在数据库中插入,ruby,insert,datamapper,Ruby,Insert,Datamapper,我有以下datamapper ressource: class Job include DataMapper::Resource storage_names[:default] = 'job' property :id, Serial property :at, Integer, :required => true, :min => 0 property :name, Float, :required =>

我有以下datamapper ressource:

class Job
  include DataMapper::Resource
  storage_names[:default] = 'job'
  property :id,         Serial
  property :at,         Integer,  :required => true,  :min => 0
  property :name,       Float,    :required => true,  :default => 0
  property :cpu,        Float,    :required => true,  :default => 0
  property :memory,     Float,    :required => true,  :default => 0
end
什么时候做:

DataMapper.auto_migrate!
表“job”已在数据库中正确创建。 但当我这样做的时候:

  Job.create(
    :at      => entry[:timestamp],
    :name    => process.to_s,
    :cpu     => data[0],
    :memory  => data[1]
  )
“作业”数据库表中没有插入任何内容。 (datamapper日志中也没有任何内容)


有什么想法吗?

尝试启用dm验证并检查返回对象中的
#错误
,这将告诉您数据是否存在任何问题。如果无效,DataMapper将不会插入任何内容。

尝试
作业。在
作业之后保存
。创建
:)

错误是:

property :name,       Float,    :required => true,  :default => 0

浮绳

这就是datamapper不插入对象数据库的原因

谢谢大家的帮助。

从中,您可以要求Datamapper在出现错误时引发异常:
Job.raise\u on\u save\u failure=true
:name    => process.to_s,