2012-01-16 56 views
1

我正在使用分页宝石分页。事情对我来说很好,我试图对它进行ajaxify,我遵循http://railscasts.com/episodes/240-search-sort-paginate-with-ajax教程。但是Ajax请求并未被我解雇。Rails ajax分块分页

我有一个索引视图。该视图呈现称为“_browser_form”的部分,该部分又呈现称为“_listing”的部分。所以我想在_listing中对表格进行分页。 请让我知道我的方法是否有任何错误。

我的控制器:

def index 

     @ics = Ic.search(params[:root_name],params[:suite_name],params[:case_name],params[:name],'f').paginate(:per_page =>5, :page => params[:all_ics]) 
     respond_to do |format| 
      format.html # index.html.erb 
      format.xml { render :xml => @ics } 
     end 
     end 

我_browser_form.html.haml其从呈现index.html.haml

- form_tag "/ics/mass_action", :method => :post, :multipart => true do 
    <div id="update_ics_table"> 
    = render "listing", :show_check_boxes => show_check_boxes, :root_name=>params[:root_name],:suite_name=>params[:suite_name],:case_name=>params[:case_name],:name=>params[:name],:ic_filter=>1 
    </div> 
    =will_paginate @ics,:param_name=>:all_ics 

我index.js.erb的文件:

$('#update_ics_table').html("<%= escape_javascript(render :partial => 'listing' ,:object => @ics) %>") 

我的.js文件:

$(function() { 
    $('#update_ics_table .pagination a').live('click', 
    function() { 
     $.getScript(this.href); 
     return false; 
    } 
); 
}); 

谢谢, Ramya。

回答

1

删除你在JavaScript的做什么,并在控制器中做到这一点:

format.js { 
    render :update do |page| 
    page.replace 'listing', :partial => 'listing' 
    end 
} 

类似:Best way to get will_paginate working with Ajax

+0

赛义德嗨,我看到这个错误在rails log [2012-01-16 14:25:35] ERROR bad URI'/%22/javascripts/pages/ic.js?1326703901 \“'。 在IE GUI中,完整的东西包含在execption并打印出来。try {Element.replace(“listing”,“\ n \ n \ n全部:\ n展开\ n \ n折叠\ n \ n \ n取消选中\ n \ n – ramya 2012-01-16 10:23:27

0

它可能有一些做的事实,你使用HAML意见和一个js.erb文件,但我不使用HAML,所以我不能确定。看看NEX3的答案来源与这个SO:How to send back js.haml in rails

如果不是的话,我想你需要你的respond_to控制器动作块改成这样:

respond_to do |format| 
      format.html # index.html.erb 
      format.xml { render :xml => @ics } 
      format.js #<------ This will execute index.js.erb 
end