Gerrymandering's a big problem, but there's not actually any contradiction between Congress having a low approval rating and most of the people in it getting reelected.
That's because we don't vote for Congress, we vote for individual representatives. You don't get a vote on the 532 people who don't represent your state or district, so your opinion of them is completely fucking irrelevant to their electoral chances.
"Approval rating of Congress" is a meaningless statistic; just because people in Texas don't like Nancy Pelosi doesn't mean they're not going to vote for Ted Cruz. (In fact, it very likely means the opposite of that.) You may as well ask people in line at the soup kitchen whether they'd rather buy a Rolls Royce or a Lambourghini.
Take the average approval rating of every person in Congress among their constituents and you have a number that might actually mean something.