2
的Rails 2.3.5/will_paginate gem是2.3.15will_paginate有沒有一種方法來設置per_page爲「所有」
我有一個頁面部分,在那裏用戶可以選擇多少項每頁顯示(與'所有'選擇)。我不喜歡那裏有'全部',但是列表中的每個項目都有一個複選框,以便可以對列出的項目執行批量操作(如果項目被分解,用戶無法選擇查詢將返回的所有項目成頁面)。
我還沒有找到答案,但有沒有辦法將per_page選項設置爲'all'?我暫時只是把一個巨大的數字(1000000)作爲解決方法。這是做到這一點的唯一方法嗎?
我想到剛用的find_by_sql更換paginate_by_sql條件,但隨後在視圖中我不得不在邏輯添加到不寫了「<%= will_paginate @項%>」
if cookies[:items_per_page]
if cookies[:items_per_page] == 'ALL'
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => 1000000)
elsif %w(10 20 30 40 50 75 100).any? {|str| cookies[:items_per_page].include? str}
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => cookies[:items_per_page].to_i)
else #cookie doesn't contain a valid choice, default to '10'
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => 10)
end
else #cookie doesn't exist, default to '10'
@items = Item.paginate_by_sql(sql, :page => params[:page], :per_page => 10)
end
DOH! - 謝謝! – Reno 2011-02-25 14:13:02
請注意,這樣做會將所有項目放在一個頁面上,因此如果您的「頁面」變量是大於1的任何數字,則偏移量將高於項目記錄的數量。將所有內容放在一個頁面上都會影響分頁的目的,而且可能不是您正在尋找的解決方案。 – Steve 2013-06-19 06:10:02
這個計數查詢是不是頭頂? – 2017-02-09 06:27:34