关于AJAX的分页

想整理一下用AJAX做分页的办法



 def ajax_pagination_links(paginator, options={})   
options.merge!(ActionView::Helpers::PaginationHelper::DEFAULT_OPTIONS) {|key, old, new| old}   
window_pages = paginator.current.window(options[:window_size]).pages   
return if window_pages.length <= 1 unless  
options[:link_to_current_page]   
  
first, last = paginator.first, paginator.last   
  
returning html = '' do  
if options[:always_show_anchors] and not window_pages[0].first?   
html << link_to_remote(first.number, :update => options[:update], :url => { options[:name] => first }.update(options[:params] ))   
html << ' ... ' if window_pages[0].number - first.number > 1   
html << ' '  
end  
  
window_pages.each do |page|   
if paginator.current == page && !options[:link_to_current_page]   
html << page.number.to_s   
else  
html << link_to_remote(page.number, :update => options[:update], :url => { options[:name] => page }.update(options[:params] ))   
end  
html << ' '  
end  
  
if options[:always_show_anchors] && !window_pages.last.last?   
html << ' ... ' if last.number - window_pages[-1].number > 1   
html << link_to_remote(paginator.last.number, :update => options[:update], :url => { options[:name] => last }.update( options[:params]))   
end  
end  
end   


在view调用页面产生链接
<%= ajax_pagination_links @pages, {:params => {:search_query => @params[:search_query]} } %>    


periodically_call_remote
link_to_remote
简单的will_paginate说明
http://dev.nozav.org/rails_ajax_table.html

你可能感兴趣的:(html,Ajax,Rails)