/ / Classe CSS incorrecte pour l'en-tête avec le widget de tri de sauvegarde - jquery, css, ruby-on-rails, tablesorter

Classe CSS incorrecte pour l'en-tête avec le widget de tri de sauvegarde - jquery, css, ruby-on-rails, tablesorter

J'utilise le rails-tablesorter gem qui est basé sur la version récente de tablesorter.

J'utilise le widget de tri de sauvegarde pour ma table, mais il ne fonctionne pas exactement comme le démo.

Ma première colonne ne contient que des liens. Si je clique sur l'un de ceux-ci et que la redirection frappe en arrière pour revenir à ma table, le tri est correct, mais l'en-tête de la colonne triée a la classe tablesorter-headerUnSorted au lieu de tablesorter-headerAsc ou tablesorter-headerDesc et par conséquent, aucun indicateur de tri n'est visible.

Si je suis un lien et que j'utilise la barre de navigation pour revenir à la table, sa classe est correcte.

Pour compléter mon code d'initiation tablesorter, bien qu'il n'y ait rien de spécial:

  $(function() {
$("#market-table").tablesorter({
widgets: ["saveSort"],
// Enable use of the characterEquivalents reference
sortLocaleCompare : true,
// maintain a stable sort (First Name column)
sortStable : true,
// if false, upper case sorts BEFORE lower case
ignoreCase : true
});
});

Une idée de ce que j'ai pu faire de mal ou de ce que le problème pourrait être?
Merci d'avance.

Modifier: J'ai fait du débogage, mais je ne sais toujours pas comment résoudre ce problème ...

Ce qui suit est le journal pour le cas où ilfonctionne (donc moi en cliquant sur le lien sur la barre de navigation). Je ne sais pas pourquoi l'initialisation est invoquée deux fois. Mais le second semble réparer les en-têtes et trier le tableau.

Dans le cas où je retourne à la table via backspace, l’initialisation de tablesort n’est invoquée qu’une seule fois. Le journal est égal à la première entrée du journal ci-dessous.

Initializing tablesorter

Built headers: (3 ms)
[th.tablesorter-header.tablesorter-headerUnSorted, th.tablesorter-header.tablesorter-headerDesc, th.tablesorter-header.sorter-false.tablesorter-headerUnSorted]
0: th.tablesorter-header.tablesorter-headerUnSorted
1: th.tablesorter-header.tablesorter-headerUnSorted
2: th.tablesorter-header.sorter-false.tablesorter-headerUnSorted
length: 3__proto__: Object[0]

Detecting parsers for each column
Building cache for 29 rows (showing 5 rows in log) and 3 columns (3 ms)
Start initializing widgets
Completed initializing 1 widget (2 ms)
Start applying widgets
Completed applying 1 widget (2 ms)
Overall initialization time:  (28 ms)



Initializing tablesorter

Built headers: (3 ms)
[th.tablesorter-header, th.tablesorter-header, th.tablesorter-header.sorter-false]
0: th.tablesorter-header.tablesorter-headerUnSorted
1: th.tablesorter-header.tablesorter-headerDesc
2: th.tablesorter-header.sorter-false.tablesorter-headerUnSorted
length: 3__proto__: Object[0]

Detecting parsers for each column
Building cache for 29 rows (showing 5 rows in log) and 3 columns (2 ms)
Start initializing widgets
Completed initializing 1 widget (2 ms)
Applying sort 1,1 (1 ms)
Rebuilt table (3 ms)
Start applying widgets
Completed applying 1 widget (2 ms)
Start applying widgets
Completed applying 1 widget (2 ms)
Overall initialization time:  (28 ms)

Réponses:

1 pour la réponse № 1

Donc ... le problème était rails "turbolinks mettant en cache la page.

Après quelques recherches sur Google, j’ai trouvé la solution pour désactiver la mise en cache turbolink d’une seule page dans ce numéro de Github.