2014-12-04 69 views
0

我想與寶石打造分頁「kaminari'.I有2種型號PostCommentComment模型belongs_to的Post model.And我想創建一個模型Comment分頁,但我做什麼不起作用。 這是我的帖子控制器,方法'show'。爲什麼kaminari分頁不起作用?

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

您應該將@comments集合傳入您的paginate方法。此外,使用自定義分頁PARAM的名字,你應該指定此:

= 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 2014-12-04 08:47:28

+0

@vveare138中查看,這是助手渲染分頁鏈接。你已經有了:'= paginate @ comment',但是你應該按照我寫的方式修正它。 – 2014-12-04 08:48:56

+0

謝謝)所有的工作 – vveare138 2014-12-04 08:54:18