Null That Should Be Impossible

Skip to first unread message

Neil C

Jun 27, 2013, 11:46:55 AM6/27/13
Imagine two classes:

class Parent
  include DataMapper::Resource

  property :id, Serial
property :name, String

class Child
  include DataMapper::Resource

  property :id, Serial
  property :position, Integer, :required => true, :default => -1

  belongs_to :parent, :key => true

When I do, I sometimes get an error indicating parent is nil. How is that possible when belongs_to defaults to required?

Please let me know how I can set up my associations so that this nil parent can never happen.


Sudeep Agarwal

Jun 28, 2013, 2:50:21 AM6/28/13
There is no validation in the Parent class. Which means a parent
records must have an id but the name can be nil. Whereas in the child
record, the parent id cannot be nil.

In the Parent class you have to make

property :name, String, :required => true

to achieve what you want
> --
> You received this message because you are subscribed to the Google Groups
> "DataMapper" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
> To post to this group, send email to
> Visit this group at
> For more options, visit
Reply all
Reply to author
0 new messages