Formularz z pagination zapomina zaznaczonego wyboru

Mam formularz, który składa się z kilku pytań, podzielonych za pomocą will_pagination w sposób 1 pytanie = 1 strona.

Problem jest taki, że gdy “submituje” formularz, to wszystkie odpowiedzi są zapominane. Dokładniej rzecz biorąc do aplikacji przychodzi tablica zawierająca tylko odpowiedzi ostatniego wypełnionego przez użytkownik pytania jako pierwszą tablicę.
Gdy poruszam się następny/poprzedni, to formularz na ułamek sekundy pokazuje uprzednio zaznaczoną opcje, a potem się resetuje (wyczyszcza wszystkie odpowiedzi). Formularz wygląda tak

Nie bijcie za bardzo brzydki kod (zrobię refaktoryzacje jak wszystko będzie śmigać jak należy), a wygląda on tak:

<% provide(:title, t(:quiz)) %>
<div class="center jumbotron">
  <h2><%= t(:quiz) %></h2>
  <div>
    <%= form_for(:test, url: quiz_path) do |f| %>
      <% @tasks.each_with_index do |task, index| %>
        <div>
          <%= image_tag(task.asset, class: "img-responsive") %>
          <%= task.text %>
          <% answers = task.correct_answers + task.wrong_answers %>
          <% # answers.shuffle! %>
          <fieldset>
            <% answers.each do |answer| %>
              <div class="checkbox">
                <%= f.check_box("task#{index}", {class: "checkbox", multiple: true}, answer, nil)%>
                <%= f.label "task#{index}", answer %>
              </div>
            <% end %>
          </fieldset>
        </div>
      <% end %>
      <%= will_paginate @tasks %>
      <%= f.submit t(:finish_quiz), class: "btn btn-lg btn-primary" %>
    <% end %>
  </div>
</div>

Bez pagination kod działa jak należy, czyli wszystkie do aplikacji wysyłane są params:
params[:test][“task#{index}”]
czyli dla pierwszego zadania params[:test][:task0] = array z odpowiedziami użytkownika pierwszego pytania
dla drugiego params[:test][:task1] = array z odpowiedziami użytkownika drugiego pytania i tak dalej.

Problem wynika z tego że w pierwotnym działaniu dla każdego z pytań rzy pomocy pętli była tworzona oddzielna tablica, a w wyniku użytkowania pagination, pętla wykonuje się tylko raz i z tego tytułu jest tylko jedna tablica z odpowiedziami params[:test][:task0].

No i przyznam że nie mam pomysłu jak to zmienić, aby każda z odpowiedzi była odpowiednio pamiętana.

@Edit właśnie doczytałem że will_paginate nie wspiera POST requestów. Ktoś może wie jak wykonać coś takiego dla POST?

Leciwe juz bardzo ale: http://railscasts.com/episodes/217-multistep-forms?view=asciicast

or google pod tym samym haslem, ta paginacja z will paginate to tam po nic

No mozesz tez uzyc jakiegos js nowoczesniejsze podejscie