我有以下代码
{!! Form::open(array('action' => 'clientController@create')); !!}
它大喊clientController@create除非我在routes.php中放入一些代码(这是我的解决方案),否则不会定义
Route::post('clientRegistration', ['uses' => 'clientController@create', 'as' => 'registration']);
然后一切都很好,但我不确定我是否找到了正确的解决方案,我是否必须为将要创建的每个表单创建一个路径?我不知道为什么Laravel没有在routes.php文件中注册就找不到控制器方法
当您调用一个操作时,Laravel会搜索它存储的到处理程序关联的路由。这在routes.php
中完成
如果插入
Route::post('clientRegistration', ['uses' => 'clientController@create', 'as' => 'registration']);
在您的routes.php
中,您可以执行以下任意
{!! Form::open(array('action' => 'registration')); !!}
{!! Form::open(array('action' => 'clientController@create')); !!}
如果你只坚持
Route::post('clientRegistration', 'clientController@create');
你仍然可以使用
{!! Form::open(array('action' => 'clientController@create')); !!}
更多信息请点击此处:https://laravel.com/docs/5.2/routing#named-路由
不管怎样,你都需要在routes.php
中通知Laravel你的路线,否则它将不知道如何处理请求。
我建议
Route::resource('client', 'ClientController');
请阅读https://laravel.com/docs/5.2/controllers#restful-命名资源路由