2013-05-08 1 views
2

쉽게 페이지 매김을 할 수 있지만 약간 복잡한 두 모델을 사용하고 있습니다. 나는 그보기 페이지를 매기려고# <Array : 0x8e052a0>에 대한 정의되지 않은 메소드 'total_pages', 올바르게 페이지 매칭하는 방법?

<ul> 
<% @posts.each do |post| %> 
<% if post.hashtags.present? %> 
<li> <%= link_to post.hashtags.map{|h| "##{h.hashtags}"}.join(', '), post.user %> </li> 
<% else %> 

<% end %> 
<% end %> 
</ul> 

여기 먼저

여기 그런 다음 컨트롤러를

class BrowseController < ApplicationController 

def index 
    @hashtags = Hashtag.find(:all, :order => 'created_at DESC') 
    @posts = post.all 
end 
end 

있어 뷰 (찾아보기 \의 index.html.erb은)입니다. 그것은 단지 게시물이 아니라 게시물의 해시 태그입니다. 올바른 <%= will_paginate %> 코드는 무엇입니까?

나는 게시물 자체뿐만 아니라 게시물의 해시 태그에 페이지 매김을 시도하고있다. 당신은 멋진 will_paginate 보석 사용하는 경우

+1

당신은 돈을 배열 페이지를 매기는 없습니다 @posts에'.all'을 호출하지 않으면 메모리에 모든 게시물을로드합니다. 페이지 매김을 사용하는 전체 이유에 대해 작동합니다. –

+0

배열을 매길 수 있습니다. 그러나 기본 동작은 아닙니다. ,'paginate_array' 메서드로 kaminari를 사용합니다. 하지만 will_paginate는 다르게 작동합니다. http://stackoverflow.com/questions/13187076/paginating-an-array-in-ruby-with-will-paginate –

답변

4

: https://github.com/mislav/will_paginate을, 간단한 변경 컨트롤러 코드에 :

# per_page 30 posts, change :per_page to the number you´d like 
@posts = Post.paginate(:page => params[:page], :per_page => 30) 

와 당신의보기를 변경 :

<%= will_paginate @posts %> 
+0

그러나 나는 게시물을 페이지 매김하지 않습니다. 게시물의 해시 태그입니다. 코드를 계속 사용할 수 있습니까? – rts213

+0

이것은 질문에 대답하지 않습니다. – 0112