2015-03-18 3 views
0

Мой босс попросил меня сделать автоматическое обновление нашего датата с новыми данными без перезагрузки страницы.Динамический AJAX Datatable с рубинами на рельсах

Из моего исследования мне нужно сделать некоторые AJAX-скрипты с нашими данными и не уверен, что с ведьмой нужно идти.

У меня есть форма на той же странице, что я использую Ajax и jquery для публикации в базе данных. Все работает отлично, но нам нужно, чтобы таблица автоматически обновляла (добавляла или удаляла строки), а не только от события от пользователя, а от автоматизированного таймера, поскольку данные были введены удаленно через 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" 
     }] 
}); 
+0

Прочитать статью datatables на [обработке на стороне сервера] (http://datatables.net/manual/server-side). – gilly3

ответ