2013-07-25 4 views
6

यह मेरा पहला प्रयास will_paginate का उपयोग कर (मैं जानता हूँ कि मैं कहां से किया गया है ??!)रेल 4 - will_paginate

titles_controller.erb

def index 
    @titles = Title.active.sorted.paginate(:page => params[:page]) 
    end 

index.html.erb

<% will_paginate @titles.each do |title| %> 

त्रुटि:

undefined method `total_pages' for #<Enumerator:0x00000002bacaf0> 

WTF मैं d ओइंग गलत है? अग्रिम में धन्यवाद।

उत्तर

11

कृपया पढ़ें docs पेजिंग करें।

<%= will_paginate @posts %> 

each जोड़ने के लिए कोई ज़रूरत नहीं है: आप लिखने के लिए की जरूरत है।

तो पूरे दृश्य लगेगा जैसे:

<%= will_paginate @titles %> 

क्योंकि यह title_controller के संदर्भ में है, will_paginate उनकी है मान लेंगे:

<% @titles.each do |title| %> 
    <!-- do smth with title --> 
<% end %> 

<%= will_paginate @titles %> 
+0

धन्यवाद - मैं डॉक्स पढ़ा था, लेकिन सोचा will_paginate कॉल शीर्ष पर चला गया। इसे अब पा लिया है। –

+2

अरे, खेद है कि यह किसी न किसी तरह लग रहा था, यह मेरा इरादा नहीं था;) – Lucas

3

अपने मामले तुम acctually न में लिखने की ज़रूरत एक @ शीर्षक चर उपलब्ध है। इस प्रकार यह संभव है सिर्फ लिखने के लिए:

<%= will_paginate %> 
संबंधित मुद्दे