eat dirt

Eat dirt is an expression used when someone is to accept another persons insults or bad treatment. If you are eating dirt, you are doing something unpleasant for whatever reason. If you are taking someones insults, criticism or otherwise bad treatment that is unwarranted, it makes no sense that you are willing to accept it, as you would if you were eating dirt in a literal sense.