When I try to delete a grandfather in a grandfather, father & son
relationship as in the following, the grandfather and all the
associated fathers are deleted, but the sons are left as orphans.
It seems ROR can do a 2-tier cascading delete, but fails on a 3-tier
cascading delete.
create_table "galleries", :force => true do |t|
t.string "name"
end
create_table "gallery_images", :force => true do |t|
t.integer "gallery_id"
end
create_table "gallery_image_profiles", :force => true do |t|
t.integer "gallery_image_id"
t.integer "profile_id"
end
model gallery.rb
class Gallery < ActiveRecord::Base
has_many :gallery_images, :dependent =>:delete_all
end
model gallery_image.rb
class GalleryImage < ActiveRecord::Base
belongs_to :gallery
has_many :gallery_image_profiles, :dependent => :delete_all
end
model gallery_image_profile.rb
class GalleryImageProfile < ActiveRecord::Base
belongs_to :gallery_image
belongs_to :profile
end
controller: galleries_controller.rb
class GalleriesController < ApplicationController
def destroy
@gallery = Gallery.find(params[:id])
@gallery.destroy
redirect_to :action => ''list''
end
end
--
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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.