我有以下datamapper资源:
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]
)
在'job'数据库表中没有插入任何内容。 (datamapper日志中也没有任何内容)
有什么想法吗?
答案 0 :(得分:1)
尝试启用dm-validations并检查返回对象中的#errors
,这将告诉您数据是否存在任何问题。如果它无效,DataMapper将不会插入任何内容。
答案 1 :(得分:0)
在Job.save
:)之后尝试Job.Create
答案 2 :(得分:0)
错误是:
property :name, Float, :required => true, :default => 0
和
:name => process.to_s,
float< - >串
这就是为什么datamapper不插入对象数据库。
感谢大家的帮助。