早上又花了几分钟把昨天的代码稍微该了下,将rails支持的ajax callback加进去,修改remote_page_link_or_span
def remote_page_link_or_span(page, span_class, text, param, options)
unless page
content_tag :span, text, :class => span_class
else
link_to_remote text, @@default_options.merge(options).merge({:url=>params.merge(param.to_sym => (page !=1 ? page : nil))})
end
end
新增
@@default_options = {:method=>:get, :update=>''}
那么这样我们的页面上可以加上任何原来rails ajax的callback了,来几个例子
一:Confirm
<%=ajax_paginate @users,:confirm=>'Go?'%>
看到效果了吗,在提交的时候会确认
二:把昨天偷懒的代码抽取出来
<%=ajax_paginate @users, :before => %(Element.show('spinner')), :success => %(Element.hide('spinner'))'%>
三:如果你的controller不是用rjs做的,即不是
render :update do |page|
page.replace_html :page, :partial=>'list'
end
你可以直接指定:update
<%=ajax_paginate @users,:update=>'page', :before => %(Element.show('spinner')), :success => %(Element.hide('spinner'))'%>