2012-01-18 3 views
0

필자는 레일 튜토리얼에서 잠시 머물 렀습니다. 10.3 절에서 우리는 페이지 매김을 추가하기로되어있다. 내 Gemfile에 보석 '것이다-PAGINATE'를 추가하고이 인덱스보기 서버는 다음과 같은 문제를 제기레일 튜토리얼 will_paginate 레이즈 undefined_method total_pages

<h1>All users</h1> 
<%= will_paginate %> 
<ul class="users"> 
<% @users.each do |user| %> 
    <li> 
     <%= gravatar_for user, :size => 30 %> 
     <%= link_to user.name, user %> 
    </li> 
<% end %> 
</ul> 
<%= will_paginate %> 

이다 : 나는 그것을 검색하는 것을 시도하고있다

ActionView::Template::Error (undefined method `total_pages' for #<Array:0xa0283fc>): 
    1: <h1>All users</h1> 
    2: <%= will_paginate %> 
    3: <ul class="users"> 
    4: <% @users.each do |user| %> 
    5:  <li> 

. 하지만 비슷한 문제에 대한 해결책은 전혀 없습니다. 어떤 아이디어?

+0

를 해결하기 위해 수정 한 <% = will_paginate @users %>, 또한 무엇과 같은 관련 컨트롤러 모양을합니까? – Hishalv

+0

http://railscasts.com/episodes/51-will-paginate를 사용해보십시오. – Hishalv

답변

2

그냥 튜토리얼에서 아래로 스크롤 - 다음 섹션은 그 문제 :

목록 10.27의보기는하지 않습니다를 해결 왜냐하면 현재 @users는 Array 클래스의 User.all (Listing 10.20)의 결과를 포함하고 있기 때문에 will_paginate는 WillPaginate :: Collection 클래스의 객체를 기대합니다.

그런 다음 당신은 안녕 난이 will_paginate 같이, 일부 인수를 생각 UsersController가 - 그것을에게

class UsersController < ApplicationController 
    before_filter :authenticate, :only => [:index, :edit, :update] 
    . 
    . 
    . 
    def index 
    @title = "All users" 
    @users = User.paginate(:page => params[:page]) 
    end 
    . 
    . 
    . 
end 
+0

감사합니다 !!! 그것은 그것을 완전히 고쳤다! (어리석은 나, 너무 : P) – gumlym

+0

나는 코드에 문제가있다 : User.scoped.order ("id") .paginate .. and User.order ("id") .paginate ... 순서가 있어야한다 paginate를 작동 시키려면 paginate 후에? – user938363

0

난 당신이 will_paginate에 인수 누락 같아요

will_paginate @users 
+0

will_paginate 문제 해결 웹을 검사했을 때 시도했지만 작동하지 않았지만 여전히 똑같습니다. – gumlym