我仍在探索 Laravel 8,但我的控制器的 store() 方法“未定义”有问题。
InvalidArgumentException 操作 PostsController@store 未定义。
(查看:D:\Server\htdocs\app\resources\views\posts\create.blade.php)
我相信我实际上已经定义了它并且我使用了资源路线。
Route
Route::resource('posts', PostsController::class);
Blade
@extends('layouts.app')
@section('content')
<h1>Create Post</h1>
{!! Form::open(['action' => 'PostsController@store', 'method' => 'POST']) !!}
<div class="form-group">
{{Form::label('title', 'Title')}}
{{Form::label('title', ['class' => 'form-control','placeholder' =>'Title'])}}
</div>
<div class="form-group">
{{Form::label('body', 'Body')}}
{{Form::textarea('body', ['class' => 'form-control','placeholder' =>'Body'])}}
</div>
{{Form::submit('Submit',['class' =>'btn btn-primary'])}}
{!! Form::close() !!}
@endsection
控制器
class PostsController extends Controller
{
public function create()
{
return view('posts.create');
}
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'body' => 'required'
]);
return 143;
}
}
进入你的RouteServiceProvider
并设置$namespace
财产给App\Http\Controllers
如果您希望在生成操作 URL 时添加命名空间前缀。
否则,您应该通过控制器的完全限定类名称 (FQCN) 来引用控制器。
['action' => 'App\Http\Controllers\PostsController@store', ...]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)