Почему функция $.ajax, вызываемая дважды, помещается как внутристраничный скрипт?

#jquery #ruby-on-rails #ajax #slim-lang #turbolinks-5

Вопрос:

приложение/контроллеры/dashboards_controller.rb

 class DashboardsController < ApplicationController
  def admin
    if request.xhr?
      if params[:section] == 'sales_bar'
        @sales_bar = current_user.sales_bar.to_json
      elsif params[:section] == 'orders_bar'
        @orders_bar = current_user.orders_bar.to_json
      else
        @sales_bar = current_user.sales_bar.to_json
        @orders_bar = current_user.orders_bar.to_json
      end
    end

    respond_to do |format|
      format.js
      format.html
    end
  end
end
 

приложение/просмотры/панели мониторинга/admin.html.slim

 .charts
  #sales-bar-section
    .ui.segment
      .head
      .content
        .ui.inverted.dimmer.active
          .ui.indeterminate.small.text.loader = 'Loading'

  #orders-bar-section
    .ui.segment
      .head
      .content
        .ui.inverted.dimmer.active
          .ui.indeterminate.small.text.loader = 'Loading'

javascript:

  $.ajax({
          url: "#{admin_dashboard_path}", // dashboards_controller#admin as js
          dataType: 'script',
          type: 'GET',
          data: {
              month: "#{Date.today.to_s}"
          }
      }).success(function () {
          $('.ui.dimmer').removeClass('active');
      }).error(function () {
          $('.ui.dimmer').removeClass('active');
          show_ajax_error("Error loading data - Please refresh page again.");
      });

 

приложение/просмотры/панели мониторинга/admin.js.erb

 <% if params[:section] == 'orders_bar' %>
  $("#orders-bar-section").html("<%= escape_javascript(render partial: 'dashboards/orders_bar', locals: { widget_data: @orders_bar, url: admin_dashboard_path }).html_safe %>");
<% elsif params[:section] == 'sales_bar' %>
  $("#sales-bar-section").html("<%= escape_javascript(render partial: 'dashboards/sales_bar', locals: { widget_data: @sales_bar, url: admin_dashboard_path }).html_safe %>");
<% else  %>
  $("#orders-bar-section").html("<%= escape_javascript(render partial: 'dashboards/orders_bar', locals: { widget_data: @orders_bar, url: admin_dashboard_path }).html_safe %>");
  $("#sales-bar-section").html("<%= escape_javascript(render partial: 'dashboards/sales_bar', locals: { widget_data: @sales_bar, url: admin_dashboard_path }).html_safe %>");
<% end %>
 

информация: Разделы загружаются по запросу ajax, который выполняется по внутреннему тегу «admin.html.slim».

(как для turbolink, так и для не-turbolink посетите admin.html.slim) При загрузке admin.html.slim метод $.ajax вызывается дважды, который находится непосредственно внутри тега. Почему его вызывают дважды ?

Спасибо.