cannot destroy child records

Hi, i am lost here,

i have these models:

class Shift < ActiveRecord::Base   has_many :transactions,:dependent => :destroy   has_one :exchangeproposal

class Transaction < ActiveRecord::Base   belongs_to :shift   has_many :exchangeproposals

class Exchangeproposal < ActiveRecord::Base   belongs_to :shift   belongs_to :transaction

with these models i can't destroy an exchangeproposal object

e=Exchangeproposal.find(100).destroy => #<Transaction id: 7, shift_id: 14591, group_id: 47, user_from_id: nil, user_to_id: nil, date: nil, soort: 2, status: 2, created_at: "2008-07-29 17:17:36", updated_At: nil>

instead i get back a transaction??

now if i remove the belong_to :shift in the model, how can this be explained?

thanks