2010-05-01 12 views
5

का उपयोग कर केवल एक पृष्ठ के साथ पेजिनेशन दिखा रहा है मैं मानक के रूप में will_paginate का उपयोग कर रहा हूं, लेकिन यह केवल एक पेज से अधिक प्रदर्शित होने पर पृष्ठांकन नियंत्रण (< 1 2> आदि) दिखाता है। आम तौर पर, यह वांछित होगा, लेकिन मैं पेजिनेशन नियंत्रण (यूआई स्थिरता के लिए और सिस्टम में एक कष्टप्रद सीएसएस क्विर्क को पाने के लिए) देखना चाहता हूं) यहां तक ​​कि जब केवल 1 पृष्ठ प्रदर्शित होता है (दिखा रहा है < 1 >)।will_paginate

क्या यह संभव है?

उत्तर

5

डिफ़ॉल्ट will_paginate सहायक रिटर्न nil जब केवल एक पृष्ठ है, तो आप कुछ इस तरह कर सकता है:

<%= will_paginate(@records) || your_single_page_state_html %> 
+1

यह एक छोटे से मेरे लिए गंदा लगता है - संभवतः क्योंकि यह प्रत्येक पृष्ठ के लिए दोहराया जाना चाहिए उसमें अंकन है। दुर्भाग्यवश, यह वास्तव में एकमात्र अच्छा समाधान है। WillPaginate 'WillPaginate :: ViewHelpers.total_pages_for_collection' के आधार पर प्रस्तुत करने का दृढ़ संकल्प बनाता है, जिसे आप प्लगइन के व्यवहार को प्रतिकूल रूप से प्रभावित किए बिना बदल नहीं सकते हैं। मुझे लगता है कि अगर आपको बहुत सारे पेजिनेटेड पृष्ठों के लिए ऐसा करने की ज़रूरत है, तो आप इसे एक सहायक विधि में निकाल सकते हैं: 'def paginate_always (रिकॉर्ड्स); will_paginate (रिकॉर्ड) || some_html; end'। –

+0

यह करने के लिए यह एक क्लीनर तरीका है - बहुत बहुत धन्यवाद! :) –

संबंधित मुद्दे