показать json данные в ajax датируемые | Ruby на рельсах - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь отобразить некоторые данные, которые я получаю из 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, который я получаю. нет данных: ключ. Я не знаю, имеет ли это значение. У кого-нибудь есть идея?

...