Ajouter une nouvelle action dans le contrôleur Rails

Je construis un plugin pour ajouter de nouvelles exportations dans la section des utilisateurs.
Au lieu d’ajouter un nouveau contrôleur pour chaque exportation, j’aimerais étendre ExportCsvController et y ajouter de nouvelles actions.
Comment puis-je y parvenir ?

Merci

1 « J'aime »

Quel problème résolvez-vous ? Le plugin d’exploration de données pourrait-il le résoudre ?

Sinon, vous pouvez y jeter un œil, car il ajoute une route et exporte des csv.

2 « J'aime »

Merci pour votre réponse.

Je dois créer deux nouvelles exportations :

  1. utilisateurs avec des groupes d’adhésion
  2. catégories avec des groupes associés

Je voudrais ajouter ces deux exportations dans le ExportCsvController sans créer de nouveau contrôleur pour chaque exportation.
Oui, l’explorateur de données pourrait résoudre le problème, mais le client pour lequel je crée le forum n’est pas technique, donc l’exportation vers CSV est le seul moyen de lui montrer les données.

Le plugin n’ajoute pas de nouvelle méthode à un contrôleur Rails existant, mais il crée un nouveau contrôleur pour la logique de l’explorateur de données.

Le plugin d’exploration de données leur permettra de télécharger un fichier CSV.

Et si vous le souhaitez, vous pouvez l’automatiser en téléchargeant le fichier directement avec l’API.

2 « J'aime »

Avec le plugin Data Explorer, vous avez un bouton pour exporter en CVS ou JSON (et, plus récemment, même un pour afficher un graphique).


Vous pouvez également autoriser des groupes spécifiques à accéder à la requête (si nous ne parlons pas ici d’utilisateurs administrateurs)

Ensuite, l’utilisateur peut voir un Rapports sur la page du groupe. Il peut exécuter la requête, puis il peut exporter les résultats en CSV.

Est-ce que cela fonctionnerait ?

3 « J'aime »

Oui, cela peut fonctionner, mais l’utilisateur doit savoir comment écrire une requête SQL, n’est-ce pas ?

1 « J'aime »

Vous (l’administrateur) créez le SQL, et l’utilisateur peut exécuter la requête – les utilisateurs ne peuvent pas créer ni modifier.

Ce que l’utilisateur voit est une liste de requêtes qu’il peut exécuter :

3 « J'aime »

Ok merci, je vais essayer d’étudier si cette solution peut fonctionner pour nos clients. :pray:

3 « J'aime »