标签内的分页

时间:2012-11-29 15:56:02

标签: ruby-on-rails-3 twitter-bootstrap tabs pagination kaminari

我有2个标签,其中包含用于用户消息的引导程序 - 收件箱和发件箱,以及使用kaminari

<div id="allmessages" >

    <div class="tabbable"> 
      <ul class="nav nav-tabs">
        <li class="active"><a href="#inbox" data-toggle="tab">Inbox</a></li>
        <li><a href="#outbox" data-toggle="tab">outbox</a></li>
      </ul>
      <div class="tab-content">
        <div class="tab-pane active" id="inbox">
            <%= render @incoming_msgs %>
            <%= paginate @incoming_msgs %>
        </div>
        <div class="tab-pane" id="outbox">
            <%= render @outgoing_msgs%>
            <%= paginate @outgoing_msgs%>
        </div>
      </div>
    </div>
</div>

问题是,当进入收件箱中的第2页然后点击发件箱选项卡时,我会转到发件箱的第2页。

http://localhost:3000/users/messages?page=2#outbox

是否可以撤销订单或每个标签的分页?

2 个答案:

答案 0 :(得分:2)

将param_name选项传递给paginate方法将允许您独立地翻阅每个对象数组。现在他们都使用默认的参数名称'page'。

<div class="tab-pane active" id="inbox">
    <%= render @incoming_msgs %>
    <%= paginate @incoming_msgs, param_name: :incoming_msgs_page %>
</div>
<div class="tab-pane" id="outbox">
    <%= render @outgoing_msgs%>
    <%= paginate @outgoing_msgs, param_name: :outgoing_msgs_page %>
</div>

确保在控制器中引用新的参数名称

@incoming_msgs = mailbox.inbox.page(params[:incoming_msgs_page]).per(25)
@outgoing_msgs = mailbox.outbox.page(params[:outgoing_msgs_page]).per(25)

答案 1 :(得分:0)