2012-08-15 53 views
0

我試圖使用simple_datatables寶石,但the docs不是很清楚。的Rails 3.2和simple_datatables - 爲什麼不是我的表加載?

當我加載在我的瀏覽器search.datatables和search.html,我得到JSON的內容,但是當我用我的索引視圖,是沒有得到填充我的表。

我創建的應用程序/視圖/行業/與此內容search.jsonify:

@trades.each do |t| 
    json << [ 
    t.tddt, 
    ... # omitted for brevity 
    t.sdbk, 
    ] 
end 

而且我已經添加了 「搜索」 控制器行動,我TradesController:

respond_to :html, :datatables 

def search 
    @trades = Trade.search(params[:search]) 
    respond_with @trades 
end 

def index 
    respond_to do |format| 
    format.html # index.html.erb 
    end 
end 

同樣,如文檔所示,我已將此javascript添加到我的應用/ views/index.html.erb:

<script type="text/javascript"> 

$("#trades_tbl").dataTable({ 
    "sAjaxSource" : "/trades/search.datatables", 
    "aaSorting" : [[0,'asc']], 
    "aoColumns" : [ 
     {"sName":"tddt"}, 
     ... // again omitted for brevity 
     {"sName":"sdbk"}, 
    ], 
    "bServerSide" : true, 
    "fnServerData" : simpleDatatables 
    }); 

</script> 

這裏是在同一個文件中的表格:

<table id="trades_tbl"> 
    <thead> 
    <tr> 
     <th>Tddt</th> 
     <!-- more columns omitted for brevity --> 
     <th>Sdbk</th> 
    </tr> 
    </thead> 

    <tbody/> 
</table> 

那麼我錯過了什麼?爲什麼不是JavaScript加載我的表?

謝謝。

注意:如果某個具有1500+聲望的人會創建simple_datatables標籤,我認爲這將是一件好事。

回答

0

一些想法,我有:

要確認,您添加以下到您的application.js資產管道清單文件:

//= require simple_datatables 

並重新啓動Web服務器?

另一個可能的障礙是裏面的index.html前的文件執行JavaScript被加載完成,可能要包裝一個$(文件)。就緒回調,像這裏面的裏面的index.html的JavaScript:

$(document).ready(function(){ 
    $("#trades_tbl").dataTable({ 
    .... 
    }); 
}); 

最終的想法:沒有網絡瀏覽器的開發控制檯顯示有發生的任何JavaScript錯誤?如果是這樣,你可能想要解決這些問題。

+0

我無法相信我忘了用$(文件)。就緒回調來包裝的JavaScript。非常感謝。 – 2012-08-15 15:00:15