質問

編集私はそれを考え出したルックスのように - 。私はSearchlogicからallを呼び出した後のpaginateを呼び出す必要がありました。

私は連絡先を検索し、(彼らは任意の検索条件を入力しない場合や、全ページ分割リスト)ページ番号付きリストを返すために、ユーザーを有効にするには、これらのツールの両方を使用しようとしています。しかし、私はチェーン一緒に適切な方法が不明だし、私がしようとしていることは私にエラーを与えている。

ここに私のコントローラは、次のとおりです。

class ContactsController < ApplicationController
  def index
    @search = Contact.search(params[:search]).paginate(:page => params[:page])
    @contacts, @contacts_count = @search.all, @search.count
  end
end

これは私にエラーUndefined method 'all' for WillPaginateを与えます。ビューは言葉を持ってパスを探しているので、すべて削除すると、私にエラーを与える「接触」20回(例えばcontact_contact_contact..._path)、おそらく「ページごとに」デフォルトは20ですので。

何が私が間違っているのでしょうか?私はすべてこのページに検索、発注や改ページを持っていると思います。

役に立ちましたか?

解決

私もこのことで混乱ました。次の操作を実行したい。

class ContactsController < ApplicationController
  def index
    @search = Contact.search(params[:search])
    @contacts = @search.paginate(:page => params[:page])
  end
end

あなたのビューで呼び出すだけ@ contacts.total_entriesを合計数を取得する(will_paginateが自動的に追加されていること)。

のようにすぐに呼び出すように、クエリをトリガー.paginate。あなたは、あなたがSearchlogicオブジェクトに@searchを設定していると考えていてもときに、あなたはそうではありません。あなたが呼び出すことができるというメソッド.ALLを持っていないWillPaginate配列に設定されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top