我如何才能记住上一页的参数以便返回?
How can I remember a parameter from the previous page so I can go back to it?
我在想如何从单个列表页面返回到索引页面(与上一页)。它非常类似于 "go back" 函数。但我不想总是去第一页。
索引页面有页面参数。
localhost:3000/listings?page=2
但在每个列表中,URL 缺少页码信息。
localhost:3000/listings/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'
我该怎么做?
一种方法是在会话中存储值
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。
如果用户 returns 稍后访问索引页面(没有显式页面参数)将从会话中检索值。
我在想如何从单个列表页面返回到索引页面(与上一页)。它非常类似于 "go back" 函数。但我不想总是去第一页。
索引页面有页面参数。 localhost:3000/listings?page=2
但在每个列表中,URL 缺少页码信息。 localhost:3000/listings/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'
我该怎么做?
一种方法是在会话中存储值
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。
如果用户 returns 稍后访问索引页面(没有显式页面参数)将从会话中检索值。