2013-06-06 5 views
1

레일 스퀘어 (railscast) 방식을 사용하여 Ajax를 사용하여 레일스 데이터에 원격으로 액세스합니다. 그것은 잘 작동합니다. 레일즈 데이터 테이블 jquery-datatables-column-filter

Railscast 340

지금, 나는 JQuery와-datatables 열 필터 플러그인을 추가하기 위해 노력하고있어. 여기

내 커피 스크립트입니다 :

Uncaught TypeError: Cannot read property 'sServerMethod' of undefined jquery.dataTables.js?body=1:8754 
DataTable.defaults.fnServerData jquery.dataTables.js?body=1:8754 
oTable.fnSettings.fnServerData jquery.dataTables.columnFilter.js?body=1:330 
_fnAjaxUpdate jquery.dataTables.js?body=1:1898 
_fnDraw jquery.dataTables.js?body=1:1431 
(anonymous function) jquery.dataTables.js?body=1:2876 
fnClickHandler jquery.dataTables.js?body=1:11665 
(anonymous function) jquery.dataTables.js?body=1:4800 
jQuery.event.dispatch jquery.js?body=1:3075 
elemData.handle 

및 검색 : 심지어 (workorders의 2 페이지를 얻기 위해) 다음을 클릭하면

$("#workorders").dataTable(
    sPaginationType: "full_numbers" 
    bProcessing: true 
    bServerSide: true 
    bFilter: false 
    sAjaxSource: $('#workorders').data('source') 
    sDom: "T<\"clear\">lfrtip" 
).columnFilter() 

그러나, 나는 다음과 같은 콘솔 오류 열이 작동하지 않습니다.

아이디어가 있으십니까? 감사!

갱신 1

은 난 (아약스없이) 목록을 다른 인덱스를 단순화하기 위해 노력했다.

은 커피 스크립트입니다 :

$("#dataTable1").dataTable().columnFilter() 

그리고 나는 열을 검색 할 때, 내가 얻을 :

Uncaught TypeError: Cannot read property 'oFeatures' of null jquery.dataTables.js?body=1:5586 
fnFilter jquery.dataTables.js?body=1:5586 
(anonymous function) jquery.dataTables.columnFilter.js?body=1:65 
jQuery.event.dispatch jquery.js?body=1:3075 
elemData.handle 
+0

를 어쩌면 너무 늦었지만 필터링을 구현할 수 있었습니까? – Peeyush

+0

나는 Ransack을 사용하도록 변경했습니다. 기본적으로 필터링 대신 검색. 그것은 위대한 작품! – Reddirt

답변

0

당신은 당신의/벤더/자산으로 JS 플러그인 열 필터를 삭제 했/javascripts dir? 그리고, 다음 application.js에서 참조 :

//= require jquery.dataTables.columnFilter 
+0

#steakchaser 예. 현재 Uncaught TypeError : 브라우저 콘솔에서 'undefined의'sServerMethod '속성을 읽을 수 없습니다.' – Reddirt

+0

'sServerMethod : "GET"을 추가하려고 시도했습니다. 그러나 그것은 그것을 고치지 못했습니다. – Reddirt

+0

테이블 마크 업을 게시 할 수 있습니까? – steakchaser

0

시도이에서 jquery.dataTables.columnFilter.js에 라인 (316)을 변경 :

oTable.fnSettings().fnServerData = function (sSource, aoData, fnCallback) {

이에 :

oTable.fnServerData = function (sSource, aoData, fnCallback) {