1

ヘッダーとナビゲーション バーがリロードされないように、pjax (pjax.heroku.com/) を利用する Rails アプリを持っています。それはすべて問題なく、ダンディで機能していますが、私のビューの 1 つで、データ テーブル (datatables.net) を使用しています。最初にページをロードしたときはデータ テーブルはうまく機能しますが、別のページに移動してから戻ってきた場合、テーブルは「再開」しないため、機能せず、すべてががらくたのように見えます。どうやら、pjaxが原因でデータテーブルのjsファイルが再度読み込まれないためです。

これが私が持っているものです:

application.js:

//= require jquery
//= require jquery_ujs
//= require pjax
//= require_tree .

私の頭のapplication.html.erb中には:

<%= javascript_include_tag "application" %>

そして、<%=利回り%>を div でラップしましたdata-pjax-container

index.html.erbテーブルの下にある (ハードコードされた)データ テーブル js ファイルを呼び出しています。

<script type="text/javascript" src="/data-table.js"></script>

次に、別のcustom.jsファイルで、これがテーブルを開始するものです。

$(document).pjax('a[data-pjax]');
$('.openinside').pjax('.sidebarInner');

ここで何が起こっているのか分かりますか?テーブルが再初期化されていないと思いますが、Pjax が原因でヘッダーが毎回読み込まれない場合、どうすれば再初期化できますか? JS リンクをテーブルのすぐ下に配置しようとしましたが、うまくいきませんでした。

4

1 に答える 1

1

これが役立つかどうかはわかりませんが(この質問は1か月前のものであるため)、私は同様のボートに乗っています. 私のページのcoffeescriptファイルにロードするpjaxデータテーブルがあります。

そのため、 pjax:endでロードを呼び出していますが、これは機能しますが、正常に呼び出された場合にロードする方法を探しています (したがって、完全なドキュメントまたは pjax:end で)。

$(document).on "pjax:end", ->
  $("#leads_table").dataTable({bJQueryUI: true, sPaginationType: "full_numbers", bRetrieve: true})

多分これは役に立ちます(または他の誰かを助けます)。

于 2012-12-13T17:17:45.717 に答える