readyException. js: 6 Uncaught TypeError: Невозможно прочитать свойство 'mData' из неопределенного - PullRequest
0 голосов
/ 21 января 2020

У меня проблемы с таблицами данных в Rails 6.0.0

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

это мой html

<table id="example" class="title table index-table">
  <tr>
    <th>Title</th>
    <% if @user['role'] === 'admin'  or @user['role'] === 'instructor' %>
      <th>Tags</th>
    <% end %>
  </tr>
  <% @assignments.each do |hw| %>
    <tr>
      <% if @user['role'] === 'admin'  or @user['role'] === 'instructor' %>
        <td>
          <span class="hw-title"><%= link_to hw.title, assignment_path(hw) %></span>
        </td>
      <% else %>
        <td>
          <span class="hw-title"><%= link_to hw.title, new_assignment_solution_path(hw) %></span>
        </td>
      <% end %>
      <% if @user['role'] === 'admin'  or @user['role'] === 'instructor' %>
        <td>
          <% if hw.tags.empty? %>
            <em></em>
          <% else %>
            <% hw.tags.each do |tag| %>
              <% unless tag.name.include? ' ' %>
                <span class="hw-tag">#<%= tag.name %></span>
              <% else %>
                <% words = tag.name.split(' ') %>
                <% words.each do |word| %>
                  <span>
                    #<%= word.strip %>
                  </span>
                <% end %>
              <% end %>
            <% end %>
          <% end %>
        </td>
      <% end %>
    </tr>
  <% end %>
</table>

  <script type="text/javascript">
    $(document).ready(function() {
      $('#example').DataTable();
    });
  </script>

это скрипт в приложении. html .erb

<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.js"></script>

простая таблица, но она имеет некоторые проверки, которые делают теги неравными для любых подсказок? Спасибо

1 Ответ

0 голосов
/ 21 января 2020

Решил это. Мне просто нужно было добавить <thead> и теги <tbody>. Дайте мне знать, если это работает для кого-то

<table id="example" class="title table index-table">
  <thead>
    <tr>
      <th>Title</th>
      <% if @user['role'] === 'admin'  or @user['role'] === 'instructor' %>
        <th>Tags</th>
      <% end %>
    </tr>
  </thead>
  <tbody>
    <% @assignments.each do |hw| %>
      <tr>
        <% if @user['role'] === 'admin'  or @user['role'] === 'instructor' %>
          <td>
            <span class="hw-title"><%= link_to hw.title, assignment_path(hw) %></span>
          </td>
        <% else %>
          <td>
            <span class="hw-title"><%= link_to hw.title, new_assignment_solution_path(hw) %></span>
          </td>
        <% end %>
        <% if @user['role'] === 'admin'  or @user['role'] === 'instructor' %>
          <td>
            <% if hw.tags.empty? %>
              <em></em>
            <% else %>
              <% hw.tags.each do |tag| %>
                <% unless tag.name.include? ' ' %>
                  <span class="hw-tag">#<%= tag.name %></span>
                <% else %>
                  <% words = tag.name.split(' ') %>
                  <% words.each do |word| %>
                    <span>
                      #<%= word.strip %>
                    </span>
                  <% end %>
                <% end %>
              <% end %>
            <% end %>
          </td>
        <% end %>
      </tr>
    <% end %>
  </tbody>

</table>

  <script type="text/javascript">
    $(document).ready(function() {
      $('#example').DataTable();
    });
  </script>

...