When the first of 70 cabbages disappeared, I said "oh well, they've got to eat too." When a week later 15 cabbages had been taken, I started to get pissed off. After 25 cabbages disappeared underground, I tried a castor oil/Dr. Bronners peppermint soap mix and drenched the soil with a hose end sprayer (8oz. castor oil, 1 t. soap, spray at 4 T./gal. shake well while spraying) That seemed to slow them down. They moved and took a few broccoli plants (unsprayed) the drench worked pretty good (they don't like the smell of castor oil) until a heavy rain. I think I picked about 40 of 70 cabbages. :

.
I want to try planting Castor bean around garden margins to see if the plant has a deterrent effect (watch out...castor bean is VERY poisonous)
I made cages or baskets out of small hole (1") chicken wire, using a 5 gal bucket as a form to bend it around. This cage got buried in the soil when I planted my artichokes...this works great. The 'choke can grow long roots through the cage, but the main root and crown stays protected from massive trauma. This would be a pain in the butt for crops you dig (horseradish) but maybe a larger fenced subterranean area? Fenced hugelbeds? (lay a layer of chicken wire down 1st?) I tried this on a "no kill" farm, and these things kind of seemed to help. We also had feral cats that would hunt in the garden, but I don't know how many actual gophers they caught. Not enough. I personally have no problem using them for target practice and seeing if the chickens will eat them.
Good luck.