Dirkjan,

> Doesn't this work like you want:
>
> o = SomeObject.new(:attribute => 'value')
> o.save
>
> Resource#save returns true or false here, but you're of course welcome
> to ignore that return value.

Yeah, that's what I was getting at. This only works if you have
uniqueness validation turned on. If there's no DB constraint, and dm-
validations is off, you'll get an explosion. With no DB constraint
*or* validations, it'll just insert a new record. With uniqueness
constraints turned on DM will not perform the insert at all, because
it'll see the record already exists, and it will return false; which
you are free to ignore.

However, based on the StackOverflow thread it appears as if Carl found
a work-around using #first_or_create. I forgot to recommend this
because I got caught up on the requirement "silently fail if a record
with the same name already exists", which to me implied that he wanted
to save the record and have the operation be a no-op if the record
already exists.

--

Dan
(dkubb)

-- 
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to datamap...@googlegroups.com.
To unsubscribe from this group, send email to 
datamapper+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en.

Reply via email to