Добавление данных приводит к исчезновению dataTables - в моей таблице не может быть данных, иначе dataTable не работает

Я новичок в Ruby on Rails и в настоящее время разрабатываю приложение, для которого я хотел бы установить gem dataTables. После того, как я установил драгоценный камень и следовал инструкциям, ничего не происходит, и нет никаких изменений. Мои таблицы остаются без изменений.

Я работаю с:

  • рубин 2.1.5p273
  • рельсы 4.2.3

Вот этапы, которые я прошел:

  1. Я написал в моем Gemfile: gem 'jquery-datatables-rails, ~>3.3.0'
  2. Я запускаю командную строку: bundle install

Драгоценный камень появляется в списке всех установленных драгоценных камней.

  1. Я написал в app/assets/javascripts/application.js:

//= require dataTables/jquery.dataTables

//= require dataTables/bootstrap/3/jquery.dataTables.bootstrap

  1. Я написал в app/assets/stylesheets/application.css:

*= require dataTables/jquery.dataTables

*= require dataTables/bootstrap/3/jquery.dataTables.bootstrap

  1. Затем я написал в своем файле с именем index.html.erb:

<script type="text/javascript">

  $(document).ready(function(){
    $("#tabgerant").dataTable();
  })

</script>

<table id="tabgerant" class="table table-striped">
  <thead>
    <tr>
      <th>Nom</th>
      <th>Prenom</th>
      <th>Login</th>
      <th>Societe</th>
      <th>Commentaire</th>
      <th>Password</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <tbody>
    <% @gerants.each do |gerant| %>
      <tr>
        <td><%= gerant.nom %></td>
        <td><%= gerant.prenom %></td>
        <td><%= gerant.login %></td>
        <td><%= link_to Societe.find(gerant.societe_id).nom, '#' %></td>
        <td><%= gerant.commentaire %></td>
        <td><%= gerant.password_digest %></td>
        
        <td><%= link_to 'Voir', gerant %></td>
        <td><%= link_to 'Modifier', edit_gerant_path(gerant) %></td>
        <td><%= link_to 'Supprimer', gerant, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

Я остановил веб-сервер и снова запустил его, и ничего не появилось. Мой стол был точно таким же. Нет видимых эффектов dataTables.

Я задавался вопросом, установили ли я правильные файлы или нет. Поэтому я скачал версию dataTables прямо на официальном сайте, и на их веб-сайте сказали, что нужно поместить два файла, чтобы они могли работать.

В app/assets/javascripts Я создал папку с именем dataTables и поместил в нее все файлы с расширением.js.

В app/assets/stylesheets Я сделал то же самое со всеми файлами с расширением.css

В app/assets/images Я сделал то же самое и положил в папку dataTables все изображения, необходимые для dataTables.

Затем я перешел к файлам application.js и application.css и создал маршруты к этим файлам.

Здесь опять ничего не работает. Кто-нибудь имеет представление о том, что происходит? Я новичок, поэтому, возможно, я не правильно написал этот пост, и я сожалею об этом.

Спасибо за вашу помощь и ваше время

Я все еще ищу, и я обнаружил, что написание некоторого javascript заставило некоторые элементы gem dataTables появиться... Но не все.

<!-- DataTables CSS -->
<link rel="stylesheet" type="text/css" href="app/assets/dataTables/media/css/jquery.dataTables.css">
  
<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="app/assets/dataTables/media/js/jquery.js"></script>
  
<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="app/assets/dataTables/media/js/jquery.dataTables.js"></script>

Кто-нибудь может объяснить, где установить файлы.js и.css из гема dataTables? Спасибо

1 ответ

Решение

В конце концов я обнаружил, что удаление этой строки заставило мою DataTable работать:

<th colspan="3"></th>

И соответствующие строки, чтобы сохранить правильную структуру таблицы:

<td><%= link_to 'Voir', gerant %></td>
        <td><%= link_to 'Modifier', edit_gerant_path(gerant) %></td>
        <td><%= link_to 'Supprimer', gerant, method: :delete, data: { confirm: 'Are you sure?' } %></td>

Другие вопросы по тегам