RubyonRails-让数据表100%加载,而不仅仅是刷新

Ruby on Rails - Getting datatables to load 100% of time and not just on refresh

本文关键字:不仅仅是 刷新 加载 数据表 100% RubyonRails-      更新时间:2023-09-26

我的ruby on rails应用程序有数据表;但是,它们只有在用户转到页面并刷新一次之后才会出现。当他们转到页面时,它最初不会出现。

这是在页面加载之前运行的javascript(因为它在html内容之前);

(function() {
  jQuery(function() {
    return $('#items').dataTable();
  });
}).call(this);

然而,我认为使用它可能会有所帮助,但事实并非如此:

$(document).ready(function() {
  $('#items').dataTable();
});

关于如何轻松实现这一目标,有什么建议吗?

每当这种情况发生在我身上时,我发现罪魁祸首通常是Turbolinks。你应该能够使用两个选项中的一个来绕过它。

第一个是这个针对js的变通方法,这个方法已经流传了很多。

var ready;
ready = function(){
  //your js scripts go here
};
$(document).ready(ready);
$(document).on('page:load', ready);

或者,您可以在加载页面时更新用于访问此页面的link_to帮助程序以跳过涡轮链接:

<%= link_to "Where you're going", add_product_path, data: { no_turbolink: true } %>