Ruby on Rails 3項目。更新記錄後,我們返回到所有記錄的索引(而不是更新記錄的視圖)。該指數與Kaminari分頁。我們如何返回到包含更新記錄的索引頁面?使用kaminari找到給定記錄的頁面
3
A
回答
2
Java JPA/Hibernate Finding out the page containing a given record using JPA (Hibernate)還有一個類似的問題和答案,它顯示了索引視圖中獲取記錄偏移所需的sql。像
SELECT COUNT(*)
FROM Model r
WHERE r.column < ?
ORDER BY r.id
頁碼的東西會被抵消/ records_per_page + 1
接下來的問題是如何從雷的records_per_page? Kaminari允許您通過配置爲每個頁面設置記錄數,並通過Model.paginates_per設置特定模型的記錄數。它提供了Model.default_per_page方法,以產生模型的每頁記錄數。
決定頁面的最佳位置將出現在顯示索引的控制器方法中。該方法已經拿起頁面參數,如果存在,顯示正確的頁面。另一種方法是在重定向之前計算頁面併發送頁面參數。讓我們試試前者。
保存編輯後,我們重定向到索引,並帶有一個標識我們想要包含在索引頁redirect with params中的記錄的參數。該索引按Model.column進行排序。
redirect_to model_index_url(:for_column => @model_record.column),
:notice => 'Record saved'
然後在控制器的索引方法中,我們讓頁面PARAM支配,或者如果存在的話從所述for_column PARAM計算頁面。
page = 1
if (params[:page])
page = params[:page]
elsif (params[:for_column])
offset = Model.select('count(*) as count').where('? < column',
params[:for_column]).order(id).first
page = offset.count/Model.default_per_page + 1
end
@records = Model.all.order('column desc').page(page)
當然,Model和Model.column代表您的應用程序的模型和列名稱。
相關問題
- 1. Rails Kaminari分頁,設置記錄索引
- 2. 到特定頁面的歷史記錄
- 3. kaminari未定義的方法`頁面'
- 4. Kaminari稍後調用頁面方法時是否加載所有記錄?
- 5. 使用delete_if找到使用郵箱的對話,然後使用kaminari分頁
- 6. 特定記錄的特定頁面
- 7. WordPress的登錄頁面重定向到「找不到網頁」
- 8. Rails Kaminari使用Ajax分頁
- 9. Rails 4 - 用JavaScript重定向到下一頁使用Kaminari
- 10. 找到總計達到給定限制的記錄組合
- 11. Mysql的尋找到給定的值在所有子記錄發現父記錄
- 12. kaminari - 重定向到最後一頁
- 13. SQLite/FoxPro更新無法使用=找到記錄,但使用LIKE找到記錄
- 14. 查找給定域的每個頁面
- 15. kaminari ajax分頁沒有更新頁面
- 16. 你如何使用Kaminari按頁面數值分頁?
- 17. (will_paginate)找到網頁的記錄是在
- 18. 找到的記錄總數爲給定的位置
- 19. 定製kaminari分頁模板
- 20. 日誌記錄404未找到與Django的Sentry頁面
- 21. Rails - 重定向到特定的記錄頁面
- 22. 重定向到「未找到頁面」上的登錄頁面 - Laravel 5.4
- 23. YII - 如果在創建頁面上找到記錄,則獲取記錄
- 24. 如何在rails中找到列值= [給定數組]的記錄
- 25. 使用歷史記錄API將後退按鈕重定向到特定頁面
- 26. 使用django表單從單個頁面記錄多條記錄
- 27. Rails 3. Kaminari顯示分頁鏈接,但不會更改記錄
- 28. 將用戶重定向到登錄頁面註冊後(登記)
- 29. 如何記錄哪個頁面「未找到」? (用htaccess,php,http_referer嘗試自定義錯誤頁面)
- 30. 使用kaminari的分頁問題
在SQlite3中,這種方法不起作用(我的模型被連接並按不同的順序排列)。我必須遵循這個解決方案:http://stackoverflow.com/a/26547854/1252245 – sequielo