
Laravel bugfix: sistemiamo questo bug: ho definito una rotta nel file routes/web.php:
Route::get('/activities/start', 'ActivityController@start');
e ho definito il metodo start()
nell’ActivityController
/** * start - start the day first activity * @return bool */ public function start() { // $activity = new Activity; $activity->order_id = Config::get('constants.START'); $activity->description = Config::get('constants.START_TEXT'); $activity->notes = ''; $activity->save(); return true; }
Il risultato è deludente e alquanto irritante, visto che ho seguito questa prassi – che ritengo corretta – fin dall’inizio:

La soluzione è semplice: il metodo resource()
nella definzione delle rotte va collocato dopo le definizioni delle singole rotte nel file routes/web.php
:
... Route::get('/activities/start', 'ActivityController@start'); Route::get('/activities/report', 'ActivityController@reportForm'); // at the end... Route::resource('/activities', 'ActivityController');
In sostanza devo riorganizzare i metodi perché c’è qualche conflitto con le rotte RESTful generate dal resource()
e quelle da me definite “a mano”.
Questa breve attività di Laravel bugfix è stata molto istruttiva.
A volte i file crescono senza troppi controlli, soprattutto mentre si impara un nuovo strumento coem Laravel o Grails, ma è bene fare spesso il punto dell’ordine e della pulizia all’interno dei file.
Commenti recenti