【问题标题】:DataTables javascript - RoR数据表 javascript - RoR
【发布时间】:2018-11-20 07:28:59
【问题描述】:

我在更改页面时不加载数据表,但如果在我刷新它时加载:

当我第一次访问该页面时

当我去看学生时

当他回到学生页面时

我的数据表js:

$(document).ready(function () {
    $("#alumnos_table").dataTable({
        destroy: true,
        responsive: true,
        "autoWidth": true,
        "oLanguage": {
            "sProcessing": "Procesando...",
            "sLengthMenu": "Mostrar _MENU_ registros",
            "sSearch": "",
            "sZeroRecords": "No existen datos",
            "sInfo": "Registro _START_ al _END_ de _TOTAL_ registros",
            "sInfoEmpty": "Registro 0 al 0 de 0 registros",
            "sLoadingRecords": "Cargando...",
            "sInfoFiltered": "(Filtrado de _MAX_ registros)",
            bDestroy: true,
            paging: false,
            searching: false,
            "oPaginate": {
                "sFirst": "Primero",
                "sLast": "Último",
                "sNext": "Siguiente",
                "sPrevious": "Anterior"
            },
            "oAria": {
                "sSortAscending": ": Activar para ordenar la columna de manera ascendente",
                "sSortDescending": ": Activar para ordenar la columna de manera descendente"
            }
        },
        "aoColumnDefs": [
            {"bSortable": false, "aTargets": [7]}
        ],
        bProcessing: true,
        bServerSide: true,
        "sAjaxSource": "/client/alumnos"
    });
});

我的路线:

namespace :client do
    get "index" => "index#index"
    resources :alumnos
    resources :asignaturas
    resources :carreras
  end

我的行动指数:

def index
    respond_to do |format|
      format.html
      format.json {render json: AlumnosDataTable.new(view_context)}
    end
  end

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: javascript ruby-on-rails datatables


    【解决方案1】:

    如果您在应用程序中使用turbolinks,这可能是它的原因。

    尝试替换:

    $(document).ready(function () { 
       ....  
       .... 
    })
    

    与:

    document.addEventListener("turbolinks:load", function () {
      ....
      ....
    })
    

    或者这个:

    $(document).on('turbolinks:load', function() {
      ....
    });
    

    【讨论】:

      【解决方案2】:

      上面的代码列表是一个典型的“Turbolinks”问题,您可以从您的项目中删除“Turbolinks”,也可以加载这样的脚本

      $(document).on('turbolinks:load', function() {
      
      });
      

      您可以在此处查看文档Turbolinks

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-05
        • 1970-01-01
        • 2016-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多