2012-01-16 69 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