提交后直接使用Paginate

时间:2016-05-05 16:55:37

标签: ruby-on-rails kaminari paginate

我正在创建一个评估表单,用户将使用kaminari分页在表单后提交表单。我现在设置的方式是,用户将回答问题,使用f.submit按钮提交表单,然后一旦配置文件更新,用户将不得不手动选择' Next User&#39 ;使用f.submit按钮下方的paginate按钮。我很乐意提交表单并在一个按钮操作下将用户发送到下一个评估,而不是两个。我一直在尝试将分页代码合并到我的f.submit按钮中,但它一直在抛出错误。我想知道是否有一个简单的方法可以解决这个问题,提前谢谢!

<h2>Team Member Evaluation</h2>
<br> </br>

<% @users.each do |user| %>

    <h4> <%= user.name %> </h4>

    <%= form_for(user) do |f| %>
    <% begin %>

    <h8> Hunger for Wisdom </h8>
        <div class="form-inline">
        <div class="form-group">
             <%= f.radio_button :current_one, 1 %>
             <h7> 1 </h7>
        </div>
        <div class="form-group">
             <%= f.radio_button :current_one, 2 %>
             <h7> 2 </h7>
        </div>
    <% end %>

     <div class="col-md-3 col-md-offset-4">
     <%= f.submit "Submit Score", class: "btn btn-default" %>

    <% rescue ActionController::RedirectBackError %>

    </div>
    </div>

<% end %>
<%= paginate @users %>
<% end %>
<% end %>

现在它设置为每当用户提交表单时,救援操作会将用户引导回他们刚刚提交的评估表单的刷新页面,然后他们必须单击&lt;%paginate @的下一个位置用户%&gt;是去下一个表格。我希望一旦按下f.submit按钮进行更新,然后立即将用户带到下一个表单。

1 个答案:

答案 0 :(得分:0)

在提交的控制器操作中,您可以像这样增加页数:

@users = User.page params[:page].to_i + 1

这假设您没有使用任何其他范围来获取@users集合。 kaminari github repo提供了有关可用方法here的更多信息。

如果它在第一页上,则页面查询var可能为零,因此您必须考虑到这一点并在此特殊情况下将其发送到第2页。