.save and .destroy Accessing Different Tables?

I'm new to Ruby and to Rails, so this whole problem is probably just bad coding on my part, but on the same object, .save and .destroy are accessing separate database tables, one which exists (which I want them to access), and one which doesn't. The code causing issues:

def message_sending     @message.sent_at = Time.now     if @message.update_attributes(params[:message])

      hold = Object.new       hold = @message.recipients.downcase.split(",")

      i=0       trfa = false       if @message.title.length > DB_STRING_MAX_LENGTH         flash[:notice] = "Title too long!"         @message.destroy       elsif @message.recipients.length > DB_STRING_MAX_LENGTH         flash[:notice] = "Too many recipients!"         @message.destroy       elsif @message.body.length > DB_TEXT_MAX_LENGTH         flash[:notice] = "Body text too long!"         @message.destroy       else         while (i<hold.length)           if User.find_by_screen_name(hold[i]) == nil             flash[:notice] = "Recipient " + hold[i] + " doesn't exist!"             @message.destroy             break           else             if trfa == false               @message.recipients = User.find_by_screen_name(hold[i]).get_user_id.to_s               trfa = true             else               @message.recipients = @message.recipients + "," + User.find_by_screen_name(hold[i]).get_user_id.to_s             end             i=i+1           end           @message.sender = find_user_and_messages.get_user_id.to_s           @message.save           redirect_to hub_url           flash[:notice] = "Message Sent!"         end       end     end   end

Using @message.save anywhere in that code will access the correct "messages" table. However, an @message.destroy will attempt to access the nonexistent "messages_users" table. I'm completely stumped as to why .save can access the right table when .destroy can't. Any help would be much appreciated.

This is probably due to cascading deletes setup by your model association

glasswing28 wrote:

This is probably due to cascading deletes setup by your model association

That was precisely the problem! Thanks very much for your help, everything is working as it should now :slight_smile: