2015-12-05 105 views
0

我想使用基本Kaminari做一些分頁,但我有麻煩讓它正常工作。分頁與Kaminari不工作

我已經安裝了雷寶石,然後在我的控制器我有以下代碼:

def new 
    @guestbook = Guestbook.new 
    @guestbooks = Guestbook.all.limit(5).page(params[:page]) 
end 

在我相關的新觀點我有這樣的代碼......

<%= paginate @guestbooks %> 

<div class="span1"> 
    <% @guestbooks.each do |g| %> 
     <br/> 
     <h4><%= g.name %>, <%= g.created_at %><br/></h4> 
     <%= g.message %><br/>...... 

然而,當我重新加載我的頁面我沒有看到任何分頁。

回答

3

你需要在你的控制器使用此:

@guestbooks = Guestbook.all 
@guestbooks = Kaminari.paginate_array(@guestbooks).page(params[:page]).per(5) 

並且在視圖補充一點:

<%=paginate @guestbooks%> 
+0

您是否允許在方法中使用相同的實例變量名稱? – Jbur43

+0

是的,它只會覆蓋第一個。 – Yang

+0

謝謝。分頁正在工作,但是當我進入下一頁時,我沒有看到任何留言簿條目?在這個頁面上,我看到它們是http:// localhost:3000/guestbooks/new,但是當我導航到http:// localhost:3000/guestbooks/new?page = 2時,什麼都沒有? – Jbur43

0

我完全支持@Yang答案,我也建議,以確保您已經給出了大於每頁值的最小數量的條目。

例如:

def index 
@posts = Post.page(params[:page]).per(10) 
end 

在這種情況下:你必須創建十餘項獲得分頁。