0

pg_search に基づく私の内部 Web サイト検索エンジンは、Heroku がページを読み込めないほど多くのテキストを検索結果に返すことがあります。

問題は、検索結果の中には長すぎて 1 ページに 1 つしか公開できないものもあれば、短すぎて一度に 20 個を簡単に公開できるものもあるということです。

そのため、検索結果のページネーションを行いたいのですが、各ページに公開するコンテンツの量を結果数ではなく単語数で制限したいと考えています。

will_paginate のような Ruby Toolbox の主要なページネーション gem を調べましたが、この機能を提供するものは見つかりませんでした。

適切なgemは存在しますか? または、will_paginate のような宝石でこれを行う簡単な方法はありますか?

4

1 に答える 1

0

レールの文字列の最初の x 語のみを表示する

このメソッドを変更して取得しました

def get_n_words_with_offset(message, first_n_words=1, offset=0)
   string_arr = message.split(' ')
   string_arr.count > first_n_words ? "#{string_arr[offset..(offset+first_n_words-1)].join(' ')}..." : self
end

そこから、単語数によって返されたモデルの配列を「ページ分割」または再分割する疑似モデルを作成できます。そのモデルの 1 つに 1 つのページをカプセル化してもらい、それらのモデルの 1 つが各ページにあるページネーション gem を使用できます。

于 2013-05-14T17:19:25.960 に答える