質問

Rails mislav-will_paginateプラグインと協力して、レコードをページングしています。複数のページがあるかどうかに関係なく、次の出力を作成したいと思います。

X - Y of Z
1 - 100 of 1826

Will_paginate in willpaginate :: viewhelpersは、レコードのページが1つしかなかった場合、nilを返します。これを可能な限りクリーンな方法でオーバーライドして、1つのページしかない場合は上記の出力を生成するか、複数のページがある場合は通常の出力に囲まれた上記の出力を生成したいと考えています。

WillPaginate :: LinkRendererのTO_HTMLメソッドをオーバーライドして、この出力を生成しましたが、レコードのページが1つしかない場合、それを生成する方法を理解できません。

コードを移動してx -y of z of z of z of Otherthereで、Overridding to_htmlメソッドと、nilを返した場合にwill_paginateの通話を行う場所の両方から呼び出す必要がありますか?もしそうなら、それはどこに住むべきですか?

役に立ちましたか?

解決

わかりました、これが私がしたことです:

  • モジュールのペイネーターを作成しました
  • 私のモデルのヘルパーには、Paginatorモジュールを含めました
  • 私の見解ではpaginator.paginateと呼ばれます
  • 定義されたpaginator.paginate paginator.produce_totalsを呼び出すページが1つしかなかった場合、または複数ページのwill_paginate(通常の方法)を呼び出す
  • 定義されたpaginator.produce_totals上記のように「z -y」合計を出力する
  • Willpaginate :: LinkRenderer OverridingクラスにPaginatorモジュールを含めました
  • 私のオーバーライドto_htmlメソッドの適切なポイントでpaginator.produce_totalsと呼ばれます

うーん!誰にとっても便利な場合はコードを投稿できます - 質問するだけです。

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