2011-06-30 1 views
2

私は現在、ユーザーが書いたすべてのレビューを表示するユーザーページを持っています。各レビューは部分的(_profileという名前)で表示され、すべてがアコーディオンのページに表示されます。これらのレビューパーシャルにページ分割を追加するにはどうすればよいですか?インデックスページから離れた部分集合にwill_paginateを使用するにはどうすればよいですか?

ユーザーがページを表示私は.paginate呼び出しを追加すると、ビューが<%= will_paginate @reviews %>または<%= will_paginate @profiles %>含まれていますコントローラ

<div class="profile_reviews_container"> 
    <div id="accordion"> 
    <h3><a href="#">Reviews written</a></h3> 
    <div class="profile_reviews_cont"> 
     <% @user.reviews.each do |review| %> 
     <%= render "reviews/profile", :profile => review %> 
     <% end %> 
    </div> 

    <h3><a href="#">Favourites</a></h3> 
    <div> 
    </div> 
    </div> 
</div> 

ご協力いただきありがとうございます。

答えて

4

私は、ユーザー#showアクションのレビューにぺージを付けます。以下のような何か:

@reviews = @user.reviews.paginate page: params[:page] 

そして呼び出す:ビューで

<%= will_paginate @reviews %> 

私もそうあなただけ呼び出すことができますreviews/_reviewに部分の名前を変更(または新規作成)になります。

<%= render @reviews %> 
をしかし、それは私です。

+0

答えのおかげで、部分的にページ分割のページに分割されていませんが、その種類の作業ので、レコードの量の正しいページ数は、各ページがすべてのレコードを表示します。コントローラ内の)。 _profileの部分的な理由は、私がすでに他の場所に表示されている_reviewの部分を持っているためです。これは、異なる情報が表示され、異なるスタイルが付加されているためです。 – Dave

+1

また、行を変更する必要がありました<%@ user.reviews.each do | review | %>〜<%@ reviews.each do |レビュー| %>、今は助けてくれてありがとうございます。 – Dave

関連する問題