Phi*_*hil 2 ruby-on-rails will-paginate twitter-bootstrap
于是我运行轨道4,5和有一个使用Twitter的引导页面tabs/nav也有will_paginate每个选项卡上。
我遇到的问题是,当我更改页码时,它会返回到默认的活动选项卡,而不是我正在分页的选项卡。
代码如下:
控制器
....
def admin
@quotes = Quote.paginate(page: params[:quotes_page], :per_page => 20).order("created_at DESC")
@users = User.paginate(page: params[:users_page], :per_page => 20).order("created_at DESC")
@blogs = Blog.paginate(page: params[:blogs_page], :per_page => 20).order("created_at DESC")
end
....
Run Code Online (Sandbox Code Playgroud)
视图.html.erb
<div class="tabbable tabs-left">
<div class="row">
<div class="col-md-4">
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="#users-tab" data-toggle="tab">Users</a></li>
<li class=""><a href="#quote-tab" data-toggle="tab">Quotes</a></li>
<li class=""><a href="#blog-tab" data-toggle="tab">Blogs</a></li>
</ul>
</div>
<div class="col-md-8">
<div class="tab-content">
<div class="tab-pane fade in active" id="users-tab">
<div class="tabbable tabs-left">
<ul class="nav nav-tabs">
<li class=""><a href="#user-index" data-toggle="tab">List Users</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane in active" id="user-index">
<%= render :template => 'users/index' %>
</div>
</div>
</div>
</div>
<div class="tab-pane fade in" id="quote-tab">
<div class="tabbable tabs-left">
<ul class="nav nav-tabs">
<li class="active"><a href="#quote-new" data-toggle="tab">New Quote</a></li>
<li class=""><a href="#quote-index" data-toggle="tab">List Quote</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane in active" id="quote-new">
<%= render "quotes/fields", :quote => Quote.new %>
</div>
<div class="tab-pane in" id="quote-index">
<%= render :template => 'quotes/index' %>
</div>
</div>
</div>
</div>
.... More code of the same
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
用户/index.html.erb
<div>
<%= will_paginate @users, :param_name => 'users_page' %>
<% @users.each do |u| %>
.....
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)
报价/index.html.erb
<div>
<%= will_paginate @quotes, :param_name => 'quotes_page' %>
<% @quotes.each do |u| %>
.....
<% end %>
</div>
Run Code Online (Sandbox Code Playgroud)
所以我想了解的是如何使它如果我在引号选项卡中并单击第二页的分页链接,它会保留在引号选项卡中,而不是将页面重新加载回用户的默认活动选项卡。
我注意到的其他事情,如果我点击所有不同的分页链接,它只会添加到参数中。
IE。如果我转到第 2 页和用户第 4 页的引号,则 url 如下所示:
http://something.com/view?quotes_page=2&users_page=4
Run Code Online (Sandbox Code Playgroud)
我预计它只会保留一个参数,例如:
http://something.com/view?users_page=4
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以加
<%= will_paginate @quotes, :param_name => 'quotes_page', params: {active_tab: 'quotes'} %>
Run Code Online (Sandbox Code Playgroud)
和
<div class="tab-pane fade in #{'active' if params[:active_tab] == 'quotes'}" id="quote-tab">
Run Code Online (Sandbox Code Playgroud)
与用户选项卡相同。更多详情请参见:https : //github.com/mislav/will_paginate/wiki/API-documentation
| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |