Rails 上的动态 AJAX 数据表 w/ ruby

Dynamic AJAX Datatable w/ ruby on Rails

我的老板让我让我们的数据table自动更新新数据,而无需重新加载页面。

根据我的研究,我需要用我们的数据table 编写一些AJAX 脚本,但不确定 是否可以使用。

我在同一页面上有一个表单,我使用 Ajax 和 jquery 到 post 到数据库。这一切都很完美,但我们需要 table 来自动更新(添加或删除行),而不仅仅是来自用户的事件,而是在自动计时器上,因为数据是通过 API 远程输入的。

目前我们有这种类型的设置:(简化为基础)

控制器:

 def index
    @data = Data.all
    respond_to do |format|
      format.html
    end
 end

查看:

<table class="table" id="data_table" width="100%">
  <thead>
  <tr>
    <th>
      Id
    </th>
    <th>
      Origin
    </th>
    <th>
      Destination
    </th>
  </tr>
  </thead>

  <tbody>
  <% if @data.nil? %>
      <tr></tr>
  <% else %>
      <% @data.each do |s| %>
          <tr>
           <td>
             <%= s.id %>
           </td>
           <td align="center">
              <%= s.origin_cs unless s.origin_cs.nil? %>
            </td>
            <td align="center">
              <%= s.dest_cs unless s.dest_cs.nil? %>
            </td>
          </tr>
      <% end %>
  <% end %>
  </tbody>
</table>

jQuery:

var post_load = $('#data_table').dataTable( {
    paging: false,
    scrollY: 200,
    "bAutoWidth": true,
    "bJQueryUI": true,
    "dom":'TC<"clear"><"toolbar1">frtip',
    "oTableTools": {
        "sRowSelect": "single",
        "aButtons": [
        ]
    },
    "columnDefs": [
        {
            "targets": 0,
            "visible": false,
            "searchable": false
        },
        {
            "targets": [1,2],
            "searchable": false,
            "width": "250px"
        }]
});

javascript 中的计时器每隔 n 秒调用您的 ajax 函数以重新加载 table 怎么样? How do i get this javascript to run every second?