It depends. It's either Pastoria or Veilstone depending on which you want.
Edit:In pastoria city you have to beat Crasher wake he uses water type Pokemon use a luxray or something like that
veilstone city its a fighting type gym and I recomend bringing a fire tipe pokemon.
gym leader has a lucario which is a fighting and steel type
The 5th gym is in saffron city and that is Sabrina the phychc type, if you didn't know that then you are a moron
The town where you get the 4th Badge on Pokémon Ruby is Lavaridge Town.
Petalburg City, where you face your father Norman, who uses Normal-type Pokemon, for the Balance Badge.
geke
Simple. You need to beat the gym leader in Eterna City. She is only the second gym leader and her Pokemon are fairly easy.
Beat Crasher Wake in Pastoria city gym.His Pokemon are Gyarados(use electric and rock moves),Quagsire(use grass moves),and Floatzel(use grass and electric).Beat him and get the Fen badge.
Talk to the poketech guy in jublife city who is inside the poketech building. If you have won the fourth gym badge, he will give you the marking map app.
you have to beat other gym leaders before you can get your hearthome city badge, lol. it's probably the hardest badge to get.
the gym is in wait next time type in which version becase diamond pearl and platinum are different d/p veilstone city platinum hearthome.
the fourth gym is in celadon city at the bottom left of the city. the gym leader is erika. the badge is called the rainbow badge
the relic badge in hearthome city
in eterna city
The fifth gym is in Hearthome City - you have already been here.
You get your 3rd badge in Veilstone city against Maylene.
Snowpoint City.
Veilstone City
sunyshore
The 4th pokemon badge is given by Erika the Celadon City Gym Leader.
== == You get the 8th gym badge in Sunyshore City. Hope this helps
Go to hearthome city and beat the gym.
In the theme park in Nimbasa City.