我在刀片中使用Form::open(['action' => 'Controller@method']);
将数据从视图传递到控制器。然后我收到了一个错误:
操作App \ Http \ Controllers \ Controller @方法未定义。
这是正确的,因为我的控制器在这个地址:
应用\模块\出头\控制器\
那么,我该怎么做才能解决它。
谢谢。
答案 0 :(得分:1)
您可以使用路由而不是控制器@方法来修复它。
在routes.php中定义指向控制器的资源
Route::resource('posts', 'PostController', ['before' => 'csrf']);
然后你可以使用URL :: route()方法来获得正确的路线。
{!! Form::open(['url' => URL::route('posts.update', [$post->id]), 'method' => 'put', 'files' => false]) !!}
要查看所有路线及其别名,请运行以下工匠命令:
L5.x
php artisan route:list
L4.x
php artisan routes
答案 1 :(得分:0)
可能是文件名有问题。 Laravel基本上也提供默认控制器。为什么不更改名称并尝试使用新名称或完整路径。
您还将从路线文件夹中获取路线文件并使用laravel 5.3
答案 2 :(得分:0)
你可以这样试试。
首先在routes.php文件中为此创建一个路由
LogProvider.SetCurrent(new NoopLogProvider());
然后在表单
中使用该路由url Route::any('first/second/{id}', [
'uses' => 'App\Modules\Somethings\Controllers@method'
]);
答案 3 :(得分:0)
您可以使用
Form::model
代替。 例如:
Form::model($user, ['method' => 'PATCH', 'action' => ['UserController@update', $user->id], 'files' => true])
// do you form stuff
Form::close()