悪いタイトルを残して申し訳ありません。私はRailsとJavascriptの新機能です。私は、JSONファイルへの単一のajax呼び出しを使用して、DataTablesドキュメンテーションの後の子行を使用してDataTableをセットアップしました。RailsとDataTable JSONドキュメントを渡す方法
私はこれで全てのRailsコントローラを使ってMongo DBからJSONを取得したいと思っています。私もその部分が働いています。私が混乱しているのはおそらく非常にシンプルで、アクティブなレコードを持つRailsテーブルを作成するのに慣れていますが、ここでは、私のDataTable定義とajax呼び出しを使ってtests.jsというjavascriptを別に用意しました。ビューからJSONをそのまま渡すことはできますか?私は今、私のビューからVARようにしたいと思い、私は今、私のコントローラ
$(document).ready(function() {
var table = $('#queryone_table').DataTable({
"ajax": "/objects.txt",
"columns": [
{
"className": 'details-control',
"orderable": false,
"data": null,
"defaultContent": ''
},
{ "data": "transactionType" },
{ "data": "collationId" },
{ "data": "licensePlate" },
{ "data": "description" },
{ "data": "startDate" },
{ "data": "FeedComplete" },
{ "data": "RepoComplete" },
{ "data": "feedProcessingDuration" },
{ "data": "completeDuration" }
],
"order": [[1, 'asc']]
});
Objects.txt私から持ってJSONを使用するAJAX呼び出しからの切り替え方法がわからないのですか?アクティブなレコードとMySQLでは、コントローラからのデータセットをループするビューでテーブルを構築しますが、子行のコードはすでにjavascriptで行いましたが、残したいと思います。
完全なJavaScriptコード
$(document).ready(function() {
var table = $('#queryone_table').DataTable({
"ajax": "/objects.txt",
"columns": [
{
"className": 'details-control',
"orderable": false,
"data": null,
"defaultContent": ''
},
{ "data": "transactionType" },
{ "data": "collationId" },
{ "data": "licensePlate" },
{ "data": "description" },
{ "data": "startDate" },
{ "data": "FeedComplete" },
{ "data": "RepoComplete" },
{ "data": "feedProcessingDuration" },
{ "data": "completeDuration" }
],
"order": [[1, 'asc']]
});
// Add event listener for opening and closing details
$('#queryone_table tbody').on('click', 'td.details-control', function() {
var tr = $(this).closest('tr');
var row = table.row(tr);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child(format(row.data())).show();
tr.addClass('shown');
}
});
});
function format (d) {
var foo = '<table id="queryinner_table" cellpadding="5" cellspacing="2" border="1" style="padding-left:50px;" class="table table-striped table-bordered table-hover table-condensed dataTable no-footer sub-table">';
// loop over table rows
var trow = "";
for (var i=0; i< d.nextrow.length; i++) {
var foo2 = '<tr>'+
'<td>Transaction Step:</td>'+
'<td>'+d.nextrow[i].transactionStep+'</td>'+
'<td>'+d.nextrow[i].elapsedSeconds+'</td>'+
'</tr>'
trow = trow + foo2
} //for loop
var foo2 = '</table>';
var res = foo.concat(trow);
res = res.concat(foo2);
return res;
}
私はよく分かりません。データベースからデータテーブルにデータを渡す必要がありますか? – inye