The 20-year-old has scored twice in 36 appearances for the Robins and has been loaned out to Cheltenham Town - where he worked with Ward - and Tranmere Rovers in the last 15 months.
"He's a really good, young player with plenty of first-team games behind him at Bristol City and at Cheltenham. He has a lot of pace, and he's the kind of quick-fire player that can make a real impact," said Ward.
"He can play anywhere along the front line and that's a real plus to bring to the squad.
"His arrival will add competition in the central and wide areas and, when you consider that they are already strong areas, it makes it a good signing for us. I'm looking forward to working with him again."