2013-10-04 4 views
14

के लिए अपरिभाषित विधि 'पेजिनेट' इंडेक्स नियंत्रक में यह मेरा कोड।# <Array: 0x0000000764d1b8>

order_customs = Order.select{|order| order.performer.white_label_id==1} 
@orders_customs_display=order_customs.paginate(:page => params[:page], :per_page => 5)  
@orders_customs_refunded=order_customs.select{|order| order.refunded==true}.paginate(:page => params[:page], :per_page => 5) 
order_white_label=Order.select{|order| order.performer.white_label_id!=1} 
@orders_white_label_display=order_white_label.paginate(:page => params[:page], :per_page => 5) 
@orders_white_label_refunded=order_white_label.select{|order| order.refunded==true}.paginate(:page => params[:page], :per_page => 5)  

मैं पेजिनेशन के लिए will_paginate मणि का उपयोग कर रहा हूं। मैं बिना किसी त्रुटि के पहले इसका उपयोग कर रहा था, लेकिन जब मैंने Order.all.paginate() से Order.select{}.paginate() त्रुटि को कोड बदल दिया।

त्रुटि मैं हो रही है

अपरिभाषित विधि `पृष्ठ पर अंक लगाना '

मैं उन्हें एक तालिका में दिखाने के लिए उन मूल्यों पृष्ठ पर अंक लगाना करने की जरूरत है। अगर मैं उन्हें पगड़ी नहीं कर सकता, तो क्या कोई कामकाज है?

उत्तर

48

आपको डेटा प्रकार Array के लिए will_paginate विधि शामिल करने की आवश्यकता है।

ऐसा करने के लिए, लाइन

require 'will_paginate/array' 

अपने नियंत्रक के शीर्ष पर शामिल करने या ApplicationController में आप अपने नियंत्रकों के सभी में पृष्ठांकन की आवश्यकता है।

+0

मुश्किल बात यह है कि यदि आपको अन्य नियंत्रक में कहीं और इसकी आवश्यकता होती है और इसे बिना किसी आवश्यकता के नियंत्रक के समक्ष कहा जाता है तो कोई त्रुटि नहीं फेंक दी जाती है। तो इसे हर जगह जोड़ने के लिए मत भूलना सरणी अंकुरित या कहीं भी ऊपर हैं उदा। ApplicationController। – dduft

-1

.all को हटाकर मेरे लिए काम किया।