Ruby:Datamapper不会在数据库中插入

时间:2010-07-30 11:12:28

标签: ruby insert datamapper

我有以下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日志中也没有任何内容)

有什么想法吗?

3 个答案:

答案 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不插入对象数据库。

感谢大家的帮助。