1. ホーム
  2. ruby-on-rails

Ruby on Railsのwill_paginateは配列です。

2023-10-14 03:41:14

質問内容

私は、どなたかが will_paginate をオブジェクトの配列に対して使用する方法を説明できますか?

例えば、私のサイトでは、ユーザーが意見を評価できる意見欄があります。ここでは、意見を評価したユーザーを収集するために書いたメソッドを紹介します。

def agree_list
  list = OpinionRating.find_all_by_opinion_id(params[:id])
  @agree_list = []
  list.each do |r|
    user = Profile.find(r.profile_id)
    @agree_list << user
  end
end

ありがとうございます

どのように解決するのですか?

ウィルパジネート 3.0 は、新しい ActiveRecord::Relation を利用するように設計されており、Rails 3では paginate をデフォルトでリレーションに対してのみ定義しています。配列でも動作しますが、railsにその部分を要求するように指示する必要があります。

の中のファイルで config/initializers (私は will_paginate_array_fix.rb を使用)、これを追加します。

require 'will_paginate/array'

次に、配列上で使用することができます

my_array.paginate(:page => x, :per_page => y)