La caché en Drupal es una maravilla, pero en algunas ocasiones puede provocarnos problemas o que necesitemos no cachear un controlador o una ruta en concreto.
La solución es muy sencilla y está disponible en una de las opciones de configuración de las rutas y es la opción de no_cache, la podemos utilizar de la siguiente manera en la ruta.
tarea.mis_tareas:
path: '/tareas'
defaults:
_title: 'Mis tareas'
_controller: '\Drupal\tarea\Controller\TareaController::myTasks'
requirements:
_permission: 'access content'
options:
no_cache: 'TRUE'
Y listo, hay que añadir esa opción y Drupal no cacheara nuestro controlador. Debemos asegurarnos de que TRUE está escrito en mayúsculas y entre comillas, de lo contrario no funcionará y es posible que incluso nos de algún error.
Me metí en la aventura de Drupal con la versión 6, y aquí estoy, 10 años después, escribiendo articulos y haciendo videos sobre Drupal, quien me lo iba a decir. Aunque he probado otros framworks y cms, me quedo con Drupal de lejos, pero Symfony y Django estan entre mis favoritos. Aficionado a la montaña, la bicicleta, y el comer, de eso que no falte.