سؤال

أنا أكافح من أجل التربط باستخدام mongoid. أنا قادر على الاتصال بالربط على كائن مجموعتي مثل

@results = @collections.paginate :page => 1, :per_page => 10

ولكن كيف يجب إحالة ذلك؟
في رأيي ، لقد قدمت المجموعة جزئيًا

<%= render :collection => @collections, :partial => collect.xml %>
<%= will_paginate @results %>

في السطر أعلاه ، أحصل على الخطأ غير المحدد Total_pages للمصفوفة.

ولكن لا يوجد خطأ إذا قمت بإزالة مكالمة Will_Paginate في العرض ، وتظهر جميع المجموعات في العرض دون ترقيم الصفحات. الرجاء المساعدة.

أعتقد أنني مخطئ في الاتصال بمساعد ترقيم الصفحات في الرأي. لقد بحثت لفترة طويلة ولم أجد مثالاً شملت دعوة ترقيم الصفحات في عرض Mongoid.

سامحني إذا كان سؤالًا غبيًا. أنا جديد في Mongoid.

هل كانت مفيدة؟

المحلول

هذه الطريقة استدعاء

@results = @collections.paginate :page => 1, :per_page => 10

سوف يملأ @results مع مجموعة من 10 عناصر من @collections. لا تحتاج إلى استخدام will_paginate على الإطلاق ، فقط استخدم @results كائن كما هو.

إذا واجهت مشاكل في العرض الذي يعطي أكثر من 10 نتائج ، فقم بتصحيح وحدة التحكم والرؤية للتأكد من عدم وجود شيء بين العبث مع @results مجموعة مصفوفة.

تعديل:

AHA ، وبالتالي فإن المشكلة في عرض روابط ترقيم الصفحات على العرض. نعم ، لذلك ستحتاج إلى عرض لمعرفة أشياء مثل الصفحة الحالية والعدد الإجمالي للصفحات المتاحة ، بحيث يمكنك حساب عدد الروابط اللازمة.

في المقابل ، ستحتاج الروابط الخاصة بك إلى السماح لجهاز التحكم بمعرفة الصفحة التي يتم طلبها ، والتي يمكنك تحقيقها باستخدام معلمات GET request. ربما يكون المساعدون أفضل طريقة للحفاظ على نظافة العرض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top