Rust on BBQ grates?

So I'm doing a cleaning of the BBQ grill before the grilling season really picks up and it looks like there is some rust on the grates. 

Got a few questions:

Best way to prevent rust on the BBQ grates?

Best way to clean rust on the BBQ grates?

Just de-rusted my BBQ grates with an old can of Comet and some steel wool

Someone told me you can soak a rusted BBQ grill in Coca Cola and it will dissolve. Not sure how true that is

WD40

Or just trash it and buy a new grill.

Take an onion. Cut it in half. Rub all over the grates. Both sides. Rust will come off. Then, coat the grates in canola oil and turn the fire up to get the temp at about 500 degrees or so for about an hour. Do it again tomorrow. Your grates will be reseasoned. They are probably cast iron.

Buy new ones

Buy new. It's not worth the effort to clean at that point.

Nitecrawler -

So I'm doing a cleaning of the BBQ grill before the grilling season really picks up and it looks like there is some rust on the grates. 

Got a few questions:

Best way to prevent rust on the BBQ grates?

Best way to clean rust on the BBQ grates?

Is your grill under cover? If yes, don't put a grill cover on it unless you plan on not using it for over a week.  The cover actually traps moisture in the grill.