I am new to Datamapper, so please go easy...
Using DM in Sinatra I have two models, Album and Photo; Photo has a file
attached via paperclip:
class Photo
include DataMapper::Resource
include Paperclip::Resource
property :id, Serial
property :title, String
property :created_at, DateTime
property :updated_at, DateTime
has_attached_file :data, url:
"/:attachment/:id/:style/:basename.:extension",
path:
"#{APP_ROOT}/public/:attachment/:id/:style/:basename.:extension"
belongs_to :album
end
class Album
include DataMapper::Resource
property :id, Serial
property :name, String
property :created_at, DateTime
property :updated_at, DateTime
has n, :photos
before :destroy do
photos.destroy
end
end
In my delete '/albums/:id' route:
delete '/albums/:id' do
a = Album.get params[:id]
if a.destroy
redirect '/'
else
logger.info a.errors.inspect
redirect '/'
end
end
The errors show that there are validation errors, but there are no errors
present:
INFO -- : #<DataMapper::Validations::ValidationErrors:0x13740dc
@resource=#<Album @id=2 @name="Quaver" @created_at=#<DateTime:
2013-02-07T10:30:36+00:00 (5895194251/2400,0/1,2299161)>
@updated_at=#<DateTime: 2013-02-07T10:30:36+00:00
(5895194251/2400,0/1,2299161)>>, @errors={}>
I can force the destroy with the bang method, but then it doesn't call the
before :destroy hook in Album to delete the photos.
I have not set up any validations in my Models, and am truly baffled.
Can anybody shed light on why I am getting ValidationErrors?
Cheers,
Adam
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/datamapper?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.