2013-07-25 34 views
6

Đây là nỗ lực đầu tiên của tôi sử dụng will_paginate (Tôi biết ở đâu tôi được ??!)Rails 4 - will_paginate

titles_controller.erb

def index 
    @titles = Title.active.sorted.paginate(:page => params[:page]) 
    end 

index.html.erb

<% will_paginate @titles.each do |title| %> 

Lỗi:

undefined method `total_pages' for #<Enumerator:0x00000002bacaf0> 

WTF Tôi d oing sai? Cảm ơn trước.

Trả lời

11

Vui lòng đọc sẽ phân trang docs. Bạn cần phải viết:

<%= will_paginate @posts %> 

Không cần thêm each.

Vì vậy, toàn bộ xem sẽ như thế nào:

<% @titles.each do |title| %> 
    <!-- do smth with title --> 
<% end %> 

<%= will_paginate @titles %> 
+0

Cảm ơn - Tôi đã đọc tài liệu, nhưng nghĩ rằng cuộc gọi will_paginate sẽ ở trên cùng. Giờ đã hiểu. –

+2

Hey, xin lỗi nếu điều này nghe thô, nó không phải là ý định của tôi;) – Lucas

3

Trong trường hợp của bạn, bạn không acctually cần phải viết:

<%= will_paginate @titles %> 

Bởi vì nó là trong bối cảnh các title_controller, will_paginate sẽ cho rằng là của họ một biến @titles có sẵn. Vì vậy, có thể chỉ cần viết:

<%= will_paginate %> 
Các vấn đề liên quan