2016-06-01 11 views
1

カテゴリをページ付けするために、私のレールアプリケーションでページネーションにkaminari gemを使用しています。 私はすべてのプロセスを実装しており、ページネーションリンクも表示されています。しかし、これはテーブル要素リストには影響しません。カミナリページングがテーブルに影響しない

コントローラのインデックスアクション

def index 
      @categories = current_user.categories 
      @categories = Kaminari.paginate_array(@categories).page(params[:page]).per(5) 
    end 

Indexビュー

<h1>Categories</h1> 
    <div class="well"> 
    <%= link_to "+ New Category", new_category_path, class: "btn btn-success" %> 
    </div> 

    <%= paginate @categories %> 
    </br> 
    <%= page_entries_info @categories %> 
    <table class="table table-bordered table-striped"> 
     <thead> 
     <tr> 
      <th>Name</th> 
      <th>Actions</th> 
     </tr> 
     </thead> 
     <tbody> 
     <% if current_user.categories.count == 0 %> 
      <tr> 
      <td colspan="2"> 
       No categories found. Click the button above to add a new one. 
      </td> 
      </tr> 
     <% else %> 
      <% current_user.categories.each do |category| %> 
      <tr> 
       <td><%= link_to category.name, category %></td> 
       <td><%= link_to "Edit", edit_category_path(category), class: "btn btn-primary" %> 
        <%= link_to "Delete", category, method: :delete, 
         data: { confirm: "You sure?" }, class: 'btn btn-small btn-danger' %> 
       </td> 
      </tr> 
      <% end %> 
     <% end %> 
     </tbody> 
    </table> 

スクリーンenter image description here

それのすべての7つの項目を示している上記画像に示されるように5ページ/ページのページ番号。

何らかの理由で説明できないことがありますか?

答えて

2

問題はあなたのアレイタイプと思います。以下のコードを試してください。

def index 
    @categories = current_user.categories.all 
    unless @categories.kind_of?(Array) 
     @categories = @categories.page(params[:page]).per(5) 
    else 
     @categories = Kaminari.paginate_array(@categories).page(params[:page]).per(5) 
    end 
    end 

この方法を試しましたか?より最適化され、必要なレコードのみを取得します。

@categories = current_user.categories.page(params[:page]).per(5) 

から採用されたソリューション: rails 3,Kaminari pagination for an simple Array

+0

申し訳ありませんが、アーミル。誰も働いていない:| –

+0

私は同じ答えをあげようとしていました! –

関連する問題