Added dependent: :destroy to handle cascading deletes