我有以下代码
{!! Form::open(array('action' => 'clientController@create')); !!}
除非我把一些代码放到routes.php中(这是我的解决方案),否则没有定义clientController @ create,
Route::post('clientRegistration', ['uses' => 'clientController@create', 'as' => 'registration']);
然后一切正常,但我不确定我是否找到了正确的解决方案,是否必须为每个将要创建的表单创建路由?我不知道为什么Laravel没有在routes.php文件中注册它就找不到控制器方法
答案 0 :(得分:0)
当你调用一个动作时,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
无论如何,您需要在routes.php
中告知Laravel您的路线,否则它将不知道如何处理该请求。
我建议
Route::resource('client', 'ClientController');
请阅读 https://laravel.com/docs/5.2/controllers#restful-naming-resource-routes