Итерация по связанной модели в дочерней строке (DataTables + Rails) - PullRequest
0 голосов
/ 23 июня 2019

Я хочу выполнить итерацию по связанной модели в дочерней строке с данными.

Данные о курсах отображаются нормально. Но участие нарушает данные.

Я использую гем 'ajax-datatables-rails'.

Модель:

  • Курс (много участников)
  • Участие (относится к курсу)

JSON выглядит так:

{"data":[ {
  "courses": {
     "runde":"2",
     "kursnavn":"SMÅBARN",
     "alder":"1-5år",
     "sted":"test",
     "startdato":"16.06.2019",
     "slutdato":"16.06.2019",
     "tid":"12:12-12:23",
     "delt":"0",
     "tilgang":"Tidligere kurs",
     "status":"Tidligere kurs",
     "id":"2"
     },
   "participations":[{
     "status_translated":"Venter på godkjenning"},{
     "status_translated":"Venter på godkjenning"},{
     "status_translated":"Venter på godkjenning"
    }
  ]
}

В JS

$(document).ready(function() {
  var table = $('#datatable').DataTable( {
    "processing": true,
    "ajax": {
      "url": $('#datatable').data('source'),

    "class":          'details-control',
    "orderable":      false,
    "data":           null,
    "defaultContent": ''
    },
    "columns": [
          {"data": "courses.runde"},
          {"data": "participations.status_translated"},
    ]
  });
});

Фрагмент course_datatable.rb из драгоценного камня 'ajax-datatables-rails'

def get_raw_records
  Participation.joins(:courses)
end

Это правильно, кстати?


Я пробовал это в javascript, и я думаю, что здесь все портится :

function format ( d ) {

  $.each($(d.participations),function(key,value){
      trs+='<tr><td>'+d.participations.status_translated+'</td><tdr>'+d.participations.status_translated+'</td></tr>';
      //loop through each product and append it to trs and am hoping that number of price 
      //values in array will be equal to number of products
  });

  return '<table class="table table-border table-hover">'+
           '<thead>'+
              '<th>Participation</th>'+
                '<th>ID</th>'+  
             '</thead>+'
           '<tbody>'+trs+'</tbody>'+
           '</table>';
});

Ошибка:

Error: "TypeError: headerCells[i] is undefined"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...