Hi all,
Since I cannot get my records in 1 query I query more data than wanted and delete the rendundand rows afterwards. I'm trying to remove an association after I queried the database. (This association changes shouldn't be comitted to the database)
First I query the database for events and its attendees. Of some events I want to remove the attendees. I do this via 2 foreach loops (all events and all attendees in event).
I try to set the attendees to empty by event.attendees = Array.new but sometimes I get an error: RangeError: is recycled object . Also this seems to delete my records in the database!
Maybe someone has a better apporoach?
@kinds = Kind.find(:all, :select => "distinct id, value", :conditions => {:kind => 'event'} ) events_temp = Event.find(:all, :select => :distinct, :include => :attendees, :conditions => [ "events.node_id = ?", session[:club_id]], :order => "start DESC" ) @events = Array.new counter = 11 for event in events_temp do if event.attendees.empty? @events.push(event) elsif event.attendees.each_with_index do |attendee, index| if (attendee.user_id == session[:user_id]) @events.push(event) elsif (event.attendees.count == index + 1) event.attendees = Array.new @events.push(event) end end end end