before_destroy and sessions

It's hard to say without seeing the rest of the code, but have you tested the value of self.user.id within the method? My guess is that self.user.id is nil and thus the error is always raised.