0

simple_datatables gemを使用しようとしていますが、ドキュメントがそれほど明確ではありません。

ブラウザにsearch.datatablesとsearch.htmlをロードすると、JSONコンテンツが取得されますが、インデックスビューを使用すると、テーブルにデータが入力されません。

私はこのコンテンツでapp/views / trades /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をapp / 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タグを作成するほど親切であれば、それは良いことだと思います。

4

1 に答える 1

0

私が持っているいくつかのアイデア:

確認するために、application.jsアセットパイプラインマニフェストファイルに以下を追加しました。

//= require simple_datatables

Webサーバーを再起動しましたか?

もう1つの考えられる障害は、ドキュメントの読み込みが完了する前に実行されるindex.html内のjavascriptです。次のように、$(document).readyコールバック内のindex.html内のjavascriptをラップすることができます。

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

最終的なアイデア:Webブラウザー開発コンソールは、JavaScriptエラーが発生していることを示していますか?もしそうなら、あなたはそれらを解決したいかもしれません。

于 2012-08-15T05:29:35.400 に答える