I'd try rust converter, if the rust covers a large area. I used to work in a factory that pumped lots of water, and that stuff actually works pretty well, if you use it right.

If you have small pits or surface rust, then just use the rust converter, sand it down, and prime the crap out of it. If you've got holes you can see through, something with some rigidity like JB Weld or a heavy epoxy might help it last longer. Just think Bondo, but smooth down before it sets, 'cause you can't really sand it down like Bondo!

Honestly, I just got rid of my truck last fall, and the only time I had trouble with rust was when the crappy paint started coming off (what were they doing in the late 80s that so many cars had such lousy paint jobs?). Anyway, I'd sand out any little rust spots every few months with fine sandpaper and hit it with Duplicolor primer (I used the color match to keep it looking fairly new for a few years, but the primer was dk silver and my truck was lt silver, and it didn't make much difference, when my truck was dirty from the trail... or from sitting, towards the end).

If we're talking holes eaten through the metal, that's one thing, but surface rust is pretty quick and easy to deal with. Just don't spray it in full sunlight, or it'll look like crap, AND your work won't last long. Try and spray it in the morning or evening, out of direct sun.