Я пытаюсь отобразить некоторые данные, которые я получаю из API в виде данных, но я не могу заставить его работать.
это мой взгляд:
<table id="dt_all_tickets" class="table table-striped" data-source="<%= backend_dashboard_tickets_path(format: :json, redirect_controller: controller.controller_name, redirect_action: controller.action_name) %>" style="width:100%">
<thead>
<tr>
<th>subject</th>
</tr>
</thead>
путь backend_dashboard_tickets_path ведет к TicketsController # index
это контроллер:
class Backend::DashboardModules::TicketsController < Backend::DashboardModules::ApplicationController
def index
tickets = FreshdeskApi::TicketsService.new()
respond_to do |format|
render json: { render json: tickets.call.body.to_json }
end
end
end
это мой javascript файл:
$(document).on("turbolinks:load", () => {
$('#dt_all_tickets').dataTable({
dom: '<"card zs_card"<"card-header"<"dropdown"<"dropdown-menu dropdown-menu-right"B>>>.<"card-body p-0"t><"card-footer"<"card-footer-primary"flp><"card-footer-secondary"i>>>',
buttons: {
dom: {
button: {
className: 'dropdown-item'
}
},
buttons: [
{
extend: 'csvHtml5',
text: '<i class="fas fa-file-csv"><i>',
titleAttr: 'CSV'
},
{
extend: 'excelHtml5',
text: '<i class="fas fa-file-excel"><i>',
titleAttr: 'Excel'
},
{
extend: 'pdfHtml5',
text: '<i class="fas fa-file-pdf"><i>',
titleAttr: 'PDF'
},
{
extend: 'copyHtml5',
text: '<i class="far fa-copy"><i>',
titleAttr: 'Clipboard'
}
]
},
serverSide: true,
ajax: $('#dt_all_tickets').data('source'),
stateSave: true,
stateDuration: -1,
columns: [
{ data: 'subject' },
],
});
}),
так выглядит небольшая часть моего json:
[{:cc_emails=>[],
:fwd_emails=>[],
:reply_cc_emails=>[],
:ticket_cc_emails=>[],
:fr_escalated=>false,
:spam=>false,
:email_config_id=>36000060610,
:group_id=>36000174488,
:priority=>1,
:requester_id=>36026074480,
:responder_id=>36016002766,
:source=>1,
:company_id=>nil,
:status=>2,
:subject=>"Help, I’ve accidentally noindexed a post! ?",
:association_type=>nil,
:to_emails=>["crediteuren@example.nl"],
:product_id=>nil,
:id=>9679,
:type=>nil,
:due_by=>"2020-01-14T15:00:00Z",
:fr_due_by=>"2020-01-13T11:00:00Z",
:is_escalated=>false,
:custom_fields=>
{:cf_locatie=>nil,
:cf_gebouw=>nil,
:cf_unit=>nil,
:cf_dienst_product=>nil,
:cf_uitvoerdatum=>nil,
:cf_herinnering_verzonden=>nil,
:cf_fsm_contact_name=>nil,
:cf_fsm_phone_number=>nil,
:cf_fsm_service_location=>nil,
:cf_fsm_appointment_start_time=>nil,
:cf_fsm_appointment_end_time=>nil},
:created_at=>"2020-01-12T14:05:31Z",
:updated_at=>"2020-01-12T14:05:31Z",
:associated_tickets_count=>nil,
:tags=>[]},
Я думаю, что проблема может быть в формат ответа json, который я получаю. нет данных: ключ. Я не знаю, имеет ли это значение. У кого-нибудь есть идея?