.NET MVC - Enviando vários modelos do mesmo tipo de uma vez

Acho que tenho um cenário bastante simples, mas não consigo entender como fazê-lo na estrutura MVC do .NET. Na sua forma mais simples, este é um formulário que tem pessoas com uma classificação. Gostaria de ter o nome de cada pessoa e uma caixa de texto ao lado do nome listados em uma página. Aqui está a aparência do HTML (Razor):

@using (Html.BeginForm()) {
<fieldset>
    @foreach (var b in Model.Ballots) {
        <p>
            <label>@b.Person.FullName</label>
            @Html.TextBox("Rank")
            @Html.ValidationMessage("Rank")
        </p>
    }
</fieldset>
 <input type="submit" value="Vote" />

}

cédula é um objeto simples que possui uma pessoa e uma classificaçã

public class Ballot {
    public Person Person { get; set; }
    [Range(1, 6, ErrorMessage="The voting range is 1 through 6")]
    public int Rank { get; set; }
}

qui está o método do meu controlador para lidar com o envio de formulários, mas ele nunca é chamad

[AcceptVerbs("POST")]
    public ActionResult Vote(IEnumerable<Ballot> ballots) {

        return View("BallotComplete");
    }

Como faço para iterar todos os modelos que o formulário envia de volta ao servido

questionAnswers(1)

yourAnswerToTheQuestion