#ruby-on-rails #datatables #turbolinks #turbo
Вопрос:
Я использую rails 6 для загрузки таблиц данных со значениями. Моя боковая панель выглядит так:
<li class="nav-item" >
<%= link_to users_path, {class: 'nav-link', data: {turbo: true} } do %>
<i class="nav-icon icon-user " aria-hidden="true"></i>All Users
<% end %>
</li>
и мои таблицы данных инициализируются с помощью :
$(document).on('turbo:load', function() {
$('#users_data_table').DataTable( {
columnDefs: [
{
targets: 4,
className: 'text-center',
}
],
stateSave: true,
"order": [[3, 'desc']],
"pagingType": "full_numbers",
"dom": '<lf<t>ip>',
bProcessing: true
......
Примеры с рельсами и таблицами данных можно найти повсюду, например: https://www.driftingruby.com/episodes/datatables
Моя проблема: Когда я нажимаю ссылку с данными {turbo:true}, я получаю следующую ошибку:
DataTables warning: table id=users_data_table - Invalid JSON response.
Если я отключу турбо с данными: {turbo:false}, datatable инициализируется правильно.
Вы видели это раньше? Потому что это сводит меня с ума. Почему турбо должен быть отключен, чтобы это работало? Я совершенно сбит с толку.
Комментарии:
1. данные: {turbo: true} не работает в помощнике link_to, он работает в помощнике button_to. Но чтобы отключить турбо, вам нужны данные: {турбо: ложь} данные: {турбо: истина} по умолчанию.
2. @Smek, хорошо, спасибо. Я не знал, что вы должны отключить турбо в методах link_to.