2014-09-26 28 views
-1

我只想顯示第二個最新版本的帖子,所以我在控制器中使用'offset(1)'(我以前用過成功)但它不工作,因爲我需要'頁面(params [:page])。per_page(1)'結尾。在控制器中搞亂偏移的分頁

這並不能抵消:

@posts = Post.top.hide.offset(1).page(params[:page]).per_page(1) 

這種偏移,但攪亂分頁:

@posts = Post.top.hide.page(params[:page]).per_page(1).offset(1) 

我也試圖把它的「頂」範圍具有相同的結果如上:

scope :top, (select('...').offset(1)) 
+0

我建議使用導軌控制檯練習查詢並查看生成的SQL。 will_paginate中的#page方法使用自己的偏移量,它看起來像上次調用的那個方法將獲得優先級。 – Steve 2014-09-26 01:01:44

+0

感謝您的提示,我不知道。 – user2759575 2014-09-26 19:41:27

回答

-1

您使用哪個庫進行分頁?你使用哪個Rails版本?

如果雷,你可以嘗試使用方法「填充」

也看到了這個問題: How can I set initial offset for first page in kaminari?

+0

不幸的是,我使用了will_paginate與rails 4. – user2759575 2014-09-26 03:30:14

+0

如果您使用will_paginate,或許這個問題的答案可以幫助您: http://stackoverflow.com/questions/7513519/get-will-paginate-to-define- a-custom-offset-on-the-page – 2014-09-26 08:36:24

+0

感謝您的鏈接,我會嘗試解決方案。 – user2759575 2014-09-26 19:42:07