我有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
是否可以撤销订单或每个标签的分页?
答案 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)
简短回答 - 使用ajax分页