Hi, I have some Page model that has_many Photos, I am using Paperclip
for doing the file processing for the photos and I am following the Ryan
Bates (Advanced Rails Recipes) recipe for handling multiple belonging
models and parent model in a single form (wich i implemented into a gem)
so I can dynamically add and remove photos.
Ok, the problem is when creating a Page and validation fails: the user
has to upload all the files again. I thought of saving the photos
without validation when creating a Page so Paperclip does it''s job, I
would have a bg task to delete orphan Photos:
class Page < ActiveRecord::Base
accepts_multiple :photos, :dependent => :destroy #this method comes
from my
#gem implementation of the Ryan B.
recipe
validates_associated :photos
validates_presence_of :title, :content
after_validation_on_create :save_attachments
def save_attachments
unless self.errors.empty?
self.photos.each{ |photo| photo.save( false ) }
end
end
end
The problem is that the Photos don''t get saved in the database although
they return false for #new_record? and Paperclip saves the files, if I
set a debugger here:
def create
@page = Page.new(params[:page])
if @page.save
...
else
debugger
render :action => "new"
end
end
and play with the irb:
>> @planta.fotos.first
=> #<Photo id: 1, page_id: nil...>> @planta.fotos.first.new_record?
=> false>> Photo.count
=> 0>> Photo.find( 1 )
=> ActiveRecord::RecordNotFound Exception: Couldn''t find Photo with
ID=1>> @planta.fotos.first.save( false )
=> true>> Photo.count
=> 0
This is most annoying and strange, it should be saved!!!
In the log it appears as it has ben written to db:
Photo Create (0.8ms) INSERT INTO "photos" ("updated_at"...
Is there any kind of transaction or caching involved? Can I override
this behavior?
Please help!!
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---