2

我有 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

是否可以颠倒顺序或每个标签有分页?

4

2 回答 2

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)
于 2013-09-12T16:41:52.660 回答
0

简短的回答 - 使用 ajax 分页

http://railscasts.com/episodes/174-pagination-with-ajax

于 2013-07-23T22:46:40.887 回答