1
我在Rails 3.2中使用Rails will_paginate
gem。我的數據庫中有大約750部電影,我認爲我把它們放在桌子上。這裏的HAML:Rails will_paginate:如何在頁面間保持一致的數組索引?
%h1 Listing movies
%table.table.table-striped
%tr
%th No.
%th Name
%th Rating
%th
- @movies.each_with_index do |movie, index|
%tr
%td= (index + 1)
%td= link_to movie.name, edit_movie_path(movie)
%td= movie.rating
%td= link_to 'Delete', movie, method: :delete, data: { confirm: 'Are you sure?' }
我已經在我的movie.rb
模型給他們按字母順序排序了default_scope order: 'name ASC'
和each_with_index
讓我有表中他們的一致數值列表的功能。
問題是,現在我正在使用分頁,電影數組的index
從每頁開始,所以它總是說1-10。
問題是,我怎樣才能讓頁面1說1-10,然後說第2頁11-20等?
正如一個側面說明,我認爲使用會話變量將是矯枉過正。由於您有頁面參數可用,並且在模型中定義了per_page常量,您可以使用這兩個值爲輔助對象提供當前偏移量 – pjam
這聽起來像是正確的軌跡,但由於某些原因,'params [:per_page]'返回nil,即使我在我的控制器的'index'方法中有這個:'@movies = Movie.search(params [:search])。paginate(per_page:10,page:params [:page])' – nickcoxdotme
而不是'params [:per_page]',我嘗試了'Movie.per_page'並且工作。這是最好的解決方案嗎?如果是這樣,想把它添加到你的編輯? – nickcoxdotme