Añadir nueva acción en el controlador de Rails

Estoy creando un plugin para agregar nuevas exportaciones en la sección de usuarios.
En lugar de agregar un nuevo controlador para cada exportación, me gustaría extender el ExportCsvController y agregarle nuevas acciones.
¿Cómo puedo lograr esto?

Gracias

1 me gusta

¿Qué problema estás resolviendo? ¿Podría resolverlo el plugin explorador de datos?

Si no, puedes echarle un vistazo, ya que añade una ruta y exporta csv.

2 Me gusta

Gracias por tu respuesta.

Necesito crear dos nuevas exportaciones:

  1. Usuarios con grupos de membresía
  2. Categorías con grupos relacionados

Me gustaría añadir estas dos exportaciones dentro de ExportCsvController sin crear un nuevo controlador para cada exportación.
Sí, el explorador de datos podría resolver el problema, pero el cliente para el que estoy construyendo el foro no es técnico, por lo que exportar a CSV es la única forma de mostrarle los datos.

El plugin no está añadiendo un nuevo método para un controlador de Rails existente, sino que está creando un nuevo controlador para la lógica del explorador de datos.

El plugin explorador de datos les permitirá descargar un csv.

Y si quieres, puedes automatizarlo descargando el archivo directamente con la API.

2 Me gusta

Con el plugin Data Explorer, tienes un botón para exportar en CVS o JSON (y, recientemente, incluso uno para mostrar un gráfico).


También puedes permitir que grupos específicos accedan a la consulta (si no estamos hablando de usuarios administradores aquí)

Luego, el usuario puede ver un Informes en la página del grupo. Puede ejecutar la consulta y luego exportar los resultados a CSV.

¿Funcionaría eso?

3 Me gusta

Sí, puede funcionar, pero el usuario necesita saber cómo escribir una consulta SQL, ¿verdad?

1 me gusta

Tú (el administrador) creas el SQL y el usuario puede ejecutar la consulta; los usuarios no pueden crear ni editar.

Lo que el usuario ve es una lista de consultas que puede ejecutar:

3 Me gusta

Ok, gracias, intentaré investigar si esta solución puede funcionar para nuestros clientes. :pray:

3 Me gusta