刪除分頁中最後一條資料後的處理方法

2021-09-01 20:24:59 字數 1633 閱讀 9569

request_url = request.referer//記得應該是request_url的,但是不清楚為什麼不得不到

delete_item_by_id params[:id]

redirect_to request_url

解法1:

current_url = request.referer

jump_url = current_url

page_number = (current_url.split '?')[1][5]

if page_number != 1

if items.find_all_by_user_id(current_user_id).last.id == params[:id] &&

items.find_all_by_user_id(current_user_id).count % 10 == 1

jump_url = '/show?page=' + (page_number - 1).to_s

enddelete_item_by_id params[:id]

redirect_to jump_url

end

解法2:

這只是乙個解決方案,類似的解決方案跟他類似,就是根據剩下的item條數,判斷總頁數,經過判斷後去調到相應的頁面 。

delete_item_by_id params[:id]

if param[:id] == items.find_all_by_user_id(current_user_id).last.id

last_page_count = all_items %10

if last_page_count == 0

page_number -= 1

endendredirect_to '/show?page=' + page_number

解法3這是在分頁的時候做的,想法是如果當前頁面的條數是0的話,那就跳轉到page-1的頁面上。這個跳轉是由伺服器發起的。

@items= items.where(:user_id => current_user_id).paginate(:page => params[:page], :per_page => 10)

if @items.length == 0 && params[:page] != 1

redirect_to '/show?page=' + ( params[:page].to_i - 1).to_s

endredirect_to request.referer

解法4:這裡做的跳轉是右瀏覽器發起的

//假如當前url是 /show?page=10

if($('#item_group').length == 0 )

這四種方法前兩種是一類,後兩種是一類。

前一類的做法缺點是可能會造成比較大的資料庫讀寫,第2種會小一些,優點是相關操作,比如頁數減少在距離delete比較近的地方,別人檢視的時候更方便。

後一類做法缺點是:使用重定向,占用網路資源,使用者體驗略差,有點是減少了資料的操作,尤其第四種方法,跳轉放到了客戶端,再別人檢視**的時候很不方便。

所以推薦的是第二種和第三種方法。

ajax 刪除一條資料

對這一段話的理解 先找到需要刪除的節點,以及節點裡的文字 用 ajax 傳送請求,請求方式為 post 請求內容為需要刪除記錄的檔案,datatype 定義資料型別 json 通常都是 json data name sname,是要刪除 name 屬性為sname 的那一條資訊 success fu...

sql中查詢每組的最後一條資料

學號 分數 測試時間 1 70 2011 10 21 20 21 32 1 85 2011 12 10 10 19 02 2 49 2012 02 11 13 32 45 2 60 2011 08 24 09 21 19 3 80 2011 04 20 14 44 10 我希望查出來的結果是 1 8...

一條資料引發的問題

需要統計三方軟體使用的時長,但是要求在電腦處於休眠 睡眠狀態下的時間段不能作為使用時長統計進去。其實這個問題點有兩個需要解決的問題 軟體在使用的標準是什麼?如何知道電腦什麼時候從執行狀態進入休眠 睡眠狀態,或從休眠 睡眠狀態進入執行狀態?被紅色線圈中的就是需要的。通過相關api,獲取到系統休眠 睡眠...