Miércoles, 18 de marzo de 2009
Si el navegador no actualiza las páginas cuando se navega por un proyecto con cakephp (tal vez estando detrás de un proxy o en alguna otra situación) lo que hay que hacer es agregar headers que le digan a los clientes web que la página no se puede guardar en el cache. Esto no tiene que confundirse con el cache interno de cake que asumo que ya lo deshabilitaron.
Una vez detectado esto, lo único que hay que hacer con cakephp es agregar en app/appController.php (o en otro lugar que se prefiera) una linea que diga:
Por ejemplo, si no existía la función y se usan los helprs html y form, podría quedar asi:
class AppController extends Controller {
var $helpers = array('Html', 'Form');
function beforeFilter(){
$this->disableCache();
}
}
Jueves, 15 de enero de 2009
Solo para recordar, siempre que se haga un cambio en la base de datos, ya sea nombre de la tabla o algo de la estructura, no hay que olvidarse de borrar el cache (si es que esta activado), sino los cambios no se van a ver.
Para borrar el cache si esta configurado como viene en la distribución estandard de CakePHP deberías borrar lo que hay en app/tmp/cache/models.
Para saber si el cache esta activado y como esta configurado hay que fijarse en app/config/core.php.
Si esta comentada la línea
//Configure::write('Cache.disable', true);
Quiere decir que esta habilitado el cache.
Si la linea de configuración del cache esta así
Cache::config('default', array('engine' => 'File'));
Quiere decir que el cache, de estar habilitado, se esta haciendo en disco.
Para seguir investigando:
- Distintos tipos de cache
- Como borrar los distintos tipos de chache
Ver el Post que disparó esto.