Skip to content

Problemas encontrados

Alberto edited this page Jan 22, 2018 · 9 revisions

Peticiones POST

Surge un problema a la hora de hacer una petición POST. Por seguridad, Laravel indica que debe indicarse como cabecera un token especial llamado CSRF Protection como se indica en su wiki

Para ello, debe añadirse como HEADER de la web:

// File: /resources/views/layout.blade.php
<meta name="csrf-token" content="{{ csrf_token() }}" />

Una vez se tiene dicho token se podrá utilizar en una petición AJAX mediante JQUERY:

headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },

En caso se querer probar la API desde herramientas externas, como por ejemplo, POSTMan debe eliminarse el control de dicho token en laravel, para ello, se debe comentar la siguiente línea:

// File: /app/Http/Kernel.php
            \App\Http\Middleware\VerifyCsrfToken::class,

Permitiendo una llamada POST desde POSTMan si es requerido.

Clases no encontradas

Si se descarga una rama o se utilizan cambios o nuevas clases de otras ramas e indica que alguna clase no existe, se debe ejecutar:

$ php artisan optimize

Rutas no válidas

Dependiendo de la máquina donde se ejecute y su configuración a veces existen problemas con las rutas indicando:

Not Found

The requested URL /devCode/public/cursos was not found on this server.

Para arreglarlo, se deberá utilizar en la URL el parámetro index.php:

http://127.0.0.1/devCode/public/index.php/cursos/

Columna updated_at

Por defecto, laravel añade dicha columna a las tablas, si no ha sido añadida, en el modelo se debe añadir:

public $timestamps = false;

Asociaciones oneToMany

Para asignar una variable en la clase Many-To-One, en este caso, por ejemplo, tutorial, se debe asociar un objeto del tipo de la relación como se indica a continuación:

$tutorial->author()->associate(Author::find(9));

Clone this wiki locally