2009-08-20 13 views
1

私はRails mislav-will_paginateプラグインを使用して自分のレコードを改ページしています。 WillPaginateでRailsを無効にするmislav-will_paginateプラグイン

X - Y of Z 
1 - 100 of 1826 

はwill_paginate ::レコードの1ページだけがあった場合はnilを返すViewHelpers:私は関係なく、複数のページがあったかどうかに、次のような出力を生成します。上記の出力を生成する最もきれいな方法でこれをオーバーライドしたいのですが、1ページしかなければ、上記の出力は複数のページがあれば通常の出力に囲まれます。

私はこの出力を生成するためにWillPaginate :: LinkRendererのto_htmlメソッドをオーバーライドしましたが、レコードのページが1つしかない場合は、どのように生成するかわかりません。

ZのX - Yをどこか別の場所に生成し、それをオーバーライドするto_htmlメソッドとnilを返す場合は私がwill_paginateを呼び出す場所から呼び出すべきでしょうか?もしそうなら、それはどこに住んでいますか?

+0

私はこれらの数字が現在のページに表示されているアイテムの数と合計数を表していると仮定していますか?また、ページネーションリンクが存在するかどうかにかかわらず、これを常に表示したいのですか?その場合、will_paginate呼び出しの外側に完全に保持し、ビューまたはカスタムヘルパーメソッドで実装してみましょう。 – ryanb

+0

両方の仮定が正しいです。彼らは論理的に関連しているので、一緒にロールしてみたいと思っています。私がwill_paginateを呼び出すたびに、合計を表示したいと思います。私はまた、Gmailのような、will_paginateが生成するページリンクの間に合計を表示したいと考えています。これを行う最もクリーンな方法は、to_htmlメソッドで合計を出力するwill_paginateを取得することです。 – nfm

答えて

1

[OK]を、ここで私がやったことだ:

  • は私のモデルのヘルパーでページネータモジュールを含まれるモジュールページネータ
  • を作成し
  • 定義Paginator.paginateに私の見解でPaginator.paginate呼び出さ
  • ページが1つしかない場合はPaginator.produce_totalsを呼び出し、複数ページの場合はwill_paginate(通常のメソッド)を呼び出す
  • "X-Y of Z"の合計を次のように出力するように定義されています。
  • の上には、私のオーバーライドto_html方法で適切な時点でPaginator.produce_totals呼び出さ私のWillPaginate :: LinkRendererオーバーライドクラス

ふうでページネータモジュールを付属しました!それが誰にとっても便利なコードを投稿することができます。

+0

これをwill_paginateを拡張するプラグインにするのはなぜですか、またはフォーク/ブランチはこのサポートを含むようリクエストしてプルリクエストを送信しますか? –

関連する問題