2014-12-04 1 views
0

내가 보석으로 페이지 매김을 만들려면 'kaminari'.I 2 개 모델 PostComment, Post belongs_to Comment 모델을 가지고도 모델 나는 모델 Comment에 대한 페이지 매김을 만들려면,하지만 작동하지 않습니다 않는 것. 이것은 내 게시물 컨트롤러, 방법 '쇼'입니다.왜 카미나리 페이지 매김이 작동하지 않습니까?

def show 
    @comment = @post.comments.page(params[:comments_page]).per(3) 
    respond_with(@post) 
    end 

이 내 시야 행동 '쇼'

%h2= @post.title 
= @post.body 
=image_tag @post.photo_url() if @post.photo? 
= @post.photo_url.to_s 
%h3 Комментарии 
- @post.comments.each do |comment| 
    %p= comment.name 
    %p= comment.body 
= paginate @comment 
%h3 Оставить комментарий 
= form_for ([@post, @post.comments.build]) do |f| 
    = f.text_field :name, class: "form-control", placeholder: "Ваше имя" 
    = f.text_area :body, class: "form-control", placeholder: "Комментарий" 
    .pull-right 
    = f.submit "Отправить", class: "btn btn-success" 

어떻게 해결입니까?

답변

2

paginate 방법으로 컬렉션을 전달해야합니다. 또한, 사용자 정의 매김 매개 변수 이름을 사용하여, 당신은이를 지정해야합니다 :

= paginate @comments, param_name: :comments_page 

무엇보다, 당신이 당신의 페이지 매김 의견이 아니라 그들 모두를 반복해야합니다

- @comments.each do |comment| 

및 컨트롤러

, 이름하여 인스턴스 변수를 올바르게 입력하십시오 :

@comments = @post.comments.page(params[:comments_page]).per(3) 
+0

붙여 넣기 'paginate @comments, param_name : : comments_page'을 붙여 주셔서 감사합니다. – vveare138

+0

@ vveare138보기에서 이것은 도우미 렌더링 페이지 링크입니다. 이미': paginate @ comment'하지만 이미 작성한대로 수정해야합니다. –

+0

감사합니다) 모두 작동합니다. – vveare138

관련 문제