これを越えることはできません。私は、配列のページメソッドはありませんが、私は何をしているのですか?#<Array:0xafd0660>のための未定義のメソッド `page '
コンソールでClass.allを実行すると#が返されますが、Class.all.page(1)を実行すると上記のエラーが発生します。
アイデア?
これを越えることはできません。私は、配列のページメソッドはありませんが、私は何をしているのですか?#<Array:0xafd0660>のための未定義のメソッド `page '
コンソールでClass.allを実行すると#が返されますが、Class.all.page(1)を実行すると上記のエラーが発生します。
アイデア?
いいえ配列にはページメソッドがありません。
あなたはカミナリを使用しているようです。 Class.allは配列を返します。したがって、ページを呼び出すことはできません。代わりにClass.page(1)を直接使用してください。通常の配列の場合
、雷は偉大なヘルパーメソッドがあります。
Kaminari.paginate_array([1, 2, 3]).page(2).per(1)
私は同じエラーが発生しました。バンドルの更新がサーバーを再起動しましたか? 2人のうちの1人がそれを修正しました。あなたのコントローラでこのような何かを行うことができますので
雷は今、アレイのページ付けする方法があります。
myarray = Class.all
@results = Kaminari.paginate_array(myarray).page(params[:page])
私はKaminariのための未定義のメソッド "paginate_array"を取得しました:モジュールこれを解決するには? –
@ÞÞawあなたはKaminariの古いバージョンを使用していたようです。 – DaveStephens
私は手動で雷のフックを呼び出すことによって、問題を修正しました。あなたは配列のための未定義のメソッドのページを取得すると、おそらくあなたが使用している
undefined method page for #<Array:0xc347540> kaminari "page" error. rails_admin
:私は別の答えに詳細を掲載
Kaminari::Hooks.init
:あなたの最初の初期化子のいずれかで実行するには、この行を追加します。 kaminari gemです。コントローラーアクション内でモデルのページを変更しようとしています。そこ
NoMethodError at/
undefined method `page' for # Array
あなたがページ付けて喜んでいるコレクションはアレイか、他ActiveRecordRelationまたはofcourseのものになる可能性があること、二つのあなたの自己を思い出させる必要があります。
違いを表示するには、我々のモデルは、製品であり、我々はproducts_controller.rbに私たちのインデックスアクションの中にあると言うことができます。
@products = Product.all
または
@products = Product.where(title: 'title')
か、他なめらか ...など
我々が得るいずれかの方法を:私たちは、次のいずれかを言うことができます私たちの@productsとを構築することができますあなたの@製品、しかし、クラスは異なります。我々は雷ページ付けて喜んでいるコレクションのクラスに応じて
@products = Product.all
@products.class
=> Array
とそのため
@products = Product.where(title: 'title')
@products.class
=> Product::ActiveRecordRelation
は提供しています:
@products = Product.where(title: 'title').page(page).per(per)
@products = Kaminari.paginate_array(Product.all).page(page).per(per)
は少しそれを要約します、ページネーションを追加する良い方法お使いのモデルに:
def index
page = params[:page] || 1
per = params[:per] || Product::PAGINATION_OPTIONS.first
@products = Product.paginate_array(Product.all).page(page).per(per)
respond_to do |format|
format.html
end
end
とあなたがページ付けするモデル(product.rb)内側:
paginates_per 5
# Constants
PAGINATION_OPTIONS = [5, 10, 15, 20]
きれいに説明しました:) ..ありがとう – inquisitive
もClass.pageをしようと雷 –
を参照しようとしたとき、私は初期化されていない定数を取得しています(1)は私にクラスのための未定義のメソッド 'page'を与えます:Class –
実際にkaminariをあなたのGemfileに追加してロードしましたか? –