2016-03-29 9 views
0

私はページ内でページ番号を付けたいのですが、ルビーとカミナリを使っています。total_pagesは、レールとカミナリでページ区切りに戻ります。

class \t ServicesController < ApplicationController 
 
\t def index 
 
\t \t /@services = Service.order(name: :asc)/ 
 
\t \t @organs = Admin::Organ.all 
 
\t 
 
\t \t @services = @services.order(created_at: :desc).paginate(page:params[:page], per_page: 3) 
 
\t end

このコードは、私のコントロールは、ビューでは3にページ3ページ番号を付けてみてください。

<%= paginate @organ.services %>

私が関係してサービスを呼び出したいと 各臓器に私は最後のコードを私のビューに挿入する。

結果は以下のとおりです。

undefined method `total_pages' for #<Mongoid::Criteria:0x007f18a8b1f338>

あなたが助けることができる場合は、注意に感謝!

答えて

0

次のようなあなたのコントローラのコードを変更してみてください:

class ServicesController < ApplicationController 
    def index 
     @organs = Admin::Organ.all 
     @services = Service.order(created_at: :desc).page(params[:page]).per(3) 
    end 
end 
+0

私はあなたのコードを試して、私は良いと思うが、問題は続く。 #

+0

のための未定義のメソッド 'total_pages '@CarlosAndré' <%= paginate @ organ.services%> 'あなたは' @ organ'をどこから取得していますか? – dp7

+0

@CarlosAndré私のモデルの '%% paginate @services%>' – dp7

0

この

旧コード

@services = @services.order(created_at: :desc).paginate(page:params[:page], per_page: 3) 

新しいコード

@services = Service.order(created_at: :desc).paginate(page:params[:page], per_page: 3) 
を試してみてください
+0

私はあなたにコードをしようとすると良いと思いますが、問題は続きます。未定義のメソッド 'total_pages 'for#<モンゴイ::基準: –

+0

あなたは内容を持っていますか?あなたのデータベースには内容がないかもしれません。 – dongdongxiao

+0

コンテンツを持っていますが、このコンテンツを取得して返すには問題があります –