Republican presidential candidate Nikki Haley hosts a town hall in Iowa