Route [Contrôleur@method] non défini
Je suis en train de créer un formulaire avec un contrôleur correspondant méthode qui ajoute un nouvel enregistrement à la DB. Laravel Version 4.1
app/views/projects.blade.php
<tr>
{{Form::open(array('action' => 'ProjectController@createProject', 'method' => 'post'))}}
<td>{{Form::text('project_number')}}</td>
<td>{{Form::text('title')}}</td>
<td>{{Form::text('client')}}</td>
<td>{{Form::text('comment')}}</td>
<td>
{{Form::file('xmlfile')}}<br />
{{Form::submit('Hinzufügen',array('class' => 'blue'))}}
</td>
{{ Form::close() }}
</tr>
app/controllers/ProjectController
<?php
class ProjectController extends BaseController {
public function listProjects(){
$projects = Project::all();
return View::make('projects',array('projects' => $projects));
}
public function createProject(){
/* handling the form data later
.
.
.
*/
return "Hello";
}
}
?>
Routes.php
//Project Routes
Route::get('/projects', array('as' => 'listProjects', 'uses' => 'ProjectController@listProjects'));
Route::get('/projects/{id}', array('as' => 'actionProject', 'uses' => 'ProjectController@actionProject'));
//Canal Routes
Route::get('/canals', array('as' => 'listCanals', 'uses' => 'CanalController@listCanals'));
Message D'Erreur
ErrorException Route [ProjectController@createProject] ne sont pas définis.
(Voir: /var/www/virtual/hwoern/laravel/app/views/projects.blade.php)
Montrer les projets existants avec la méthode de la liste dans la vue projets fonctionne très bien. Qu'ai-je oubliée?
Salut, pouvez-vous partager vos itinéraires?
J'ai trouvé le problème, vérifiez la réponse.
// Project Routes Route::get('/projects', array('as' => 'listProjects', 'uses' => 'ProjectController@listProjects')); Route::get('/projects/{id}', array('as' => 'actionProject', 'uses' => 'ProjectController@actionProject')); // Canal Routes Route::get('/canals', array('as' => 'listCanals', 'uses' => 'CanalController@listCanals'));
J'ai trouvé le problème, vérifiez la réponse.
OriginalL'auteur lasagne | 2014-01-04
Vous devez vous connecter pour publier un commentaire.
Vous avez reçu le
Route [ProjectController@createProject] not defined
parce que vous n'avez pas créé de post de route pour l'actionProjectController@createProject
encore.Vous devez définir le parcours suivant:
route.php
vous devez définir des itinéraires pour toutes les URL et si vous pointez une méthode de contrôleur de liens ou de la forme. Sinon, pas besoin.
Je suis l'aide de Laravel 5.3, et je ne trouve pas où
route.php
est. J'ai trouvé `\vendor\symfony\routing\Route.php' au lieu de cela, mais je ne suis pas sûr si c'est le bon fichier. S'il vous plaît aider.Nevermind. Je l'ai déjà trouvé. C'est à l'intérieur
routes/web.php
OriginalL'auteur