or ajax pagination , you need to add following js code in application.js file.
Note: Add spinner.gif image in images folder .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //For AJAX Pagination:document.observe("dom:loaded", function() {// the element in which we will observe all clicks and capture// ones originating from pagination linksvar container = $(document.body)if (container) {var img = new Imageimg.src = '/images/spinner.gif'function createSpinner() {return new Element('img', { src: img.src, 'class': 'spinner' })}container.observe('click', function(e) {var el = e.element()if (el.match('.pagination.ajax a')) {el.up('.pagination.ajax').insert(createSpinner())new Ajax.Request(el.href, { method: 'get' })e.stop()}})}}) |
Call AJAX pagination: Add class pagination ajax in method
1 | <%=will_paginate @object,:class=>'pagination ajax'%> |
Call Non AJAX pagination: Simply call will_paginate method
1 | <%=will_paginate @object%> |
Set your controller method according you ajax / non-ajax call
For ajax call , you need to update a div ,
1 2 3 4 5 6 7 | @object = Model.paginate :page=>params[:page],:per_page => 10render :update do |page|page.replace_html :div_id ,:partial => 'result_page'end |
No comments:
Post a Comment