簡體   English   中英

使用Kaminari寶石跳轉到頁面

[英]Jump to page using Kaminari Gem

我試圖在分頁列表中的項目鏈接到后添加分頁。 我似乎找不到找到解決辦法或找到答案的方法。 我正在嘗試在頁面上顯示圖像列表,我要做的是,當單擊圖像時,用戶將轉到該單個圖像頁面,然后在頁面上將有“下一個”鏈接到下一個列表中的圖片。 因此,假設我有一個圖像列表,依次顯示[1, 5, 3, 6, 4, 7, 8, 2, 9, 10 ] ,每頁顯示5個。 用戶單擊ID為5的圖像(列表中的位置1),然后轉到“ / images / 5”。 如何在該列表(id:3)中添加指向下一張圖片的鏈接,以此類推?

在圖像控制器中

def index
  @list = Images.first(10).shuffle
  @images = Kaminari.paginate_array(@list).page(params[:page]).per(5)
end

在相應的視圖中我還需要什么?

您必須記住圖像被隨機排列的順序。 您可以例如將其保存在會話中

def index
  @list = Images.first(10).shuffle
  session[:image_list] = @list.map(&:id)
  @images = Kaminari.paginate_array(@list).page(params[:page]).per(5)
end

然后,當顯示一個圖像時,您可以在session[:image_list]查找顯示圖像的索引,並將下一個圖像的ID保存在實例變量中

def show
  idx = session[:image_list].index(shown_image_id)
  @next_image_id = session[:image_list][idx + 1]
  # Do some more stuff for showing image
end

然后使用@next_image_id創建指向下一張圖像的鏈接。 還有一些棘手的事情要做,例如@next_image_id如果是最后一張圖像,應該是什么,依此類推,但這應該可以幫助您入門。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM