我怎么能记住上一页的参数,以便我可以回到它?

时间:2015-03-08 00:11:58

标签: ruby-on-rails kaminari

我在考虑如何从单个列表页面返回到索引页面(使用上一页)。它非常像"回去"功能。但我不想总是去第一页。

索引页面包含页面参数。 本地主机:3000 /目录页= 2

但是在每个列表中,URL都缺少页码信息。 本地主机:3000 /列表/ 1

我使用的是rails 4.1.8和Kaminari 0.16.3

列出控制器

  def index
    @listings = Listing.order("created_at DESC").page(params[:page])
  end

索引页:

<%= paginate @listings %>

显示页面部分:

<%= link_to 'Back', root_path %>

路线:

root 'listings#index'

我该怎么做?

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是在会话中存储值

def index
  if params[:page]
    session[:listing_index_page] = params[:page]
  end
  @listings = Listing.order("created_at DESC").page(session[:listing_index_page])
end

如果用户第一次导航到listings/index,则没有页面参数,Kaminari应该采用第1页。随后导航到第2页将在会话中存储2。

如果用户稍后返回索引页面(没有显式页面参数),则将从会话中检索该值。