Ruby:DatamapperDon';t在数据库中插入
我有以下datamapper ressource: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 =>
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,