¿Puedo llamar a las funciones de jQuery dentro de los métodos de solicitud de Sinatra?

El flujo de renderizado con renderizado del lado del servidor (que hace Sinatra) es el siguiente:

  1. Cargue datos y ejecute cálculos en el controlador / controlador de ruta (como quiera llamarlo)
  2. Pasar variables a plantilla
  3. Dentro de la plantilla, iterar sobre datos, etc. para generar HTML
  4. Enviar HTML al cliente
  5. El cliente recibe HTML y carga activos (imágenes, CSS, archivos JS)
  6. El cliente aplica CSS y ejecuta JavaScript

Sinatra puede renderizar HTML. El código Sinatra no se ejecuta en el navegador. jQuery se ejecuta en el navegador.

Su lógica Sinatra siempre se ejecuta antes de que jQuery pueda ejecutarse.

Ahora para crear una solicitud POST desde el lado del cliente, deberá agregar un punto final POST en su aplicación Sinatra. Desde jQuery, envíe una solicitud POST a ese punto final y ejecute un código Ruby que haga algo y luego devuelva 200 Success o JSON.