Ruby: Datamapper не вставляется в базу данных - PullRequest
0 голосов
/ 30 июля 2010

У меня есть следующий ресурс 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 ]

1 голос
/ 01 августа 2010

Попробуйте включить dm-validations и проверить #errors в возвращенном объекте, это скажет вам, если есть какие-либо проблемы с данными.Если он недействителен, DataMapper ничего не вставит.

0 голосов
/ 05 августа 2010

Ошибка:

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

и

:name    => process.to_s,

float <-> String

, поэтому datamapper не вставляет базу данных объектов.

Спасибо всем за помощь.

0 голосов
/ 04 августа 2010

Попробуйте Job.save после вашего Job.Create:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...