我正在提交表格,但它显示了错误
MethodNotAllowedHttpException没有消息
这是我的代码。
create.blade.php
<form method="POST" action="/Form/show">
{{csrf_field()}}
<div class="form-group">
First Name : <input class="form-control" type="text" placeholder="John" name="first_name"/>
</div>
<div class="form-group">
Last Name : <input class="form-control" type="text" placeholder="Wick" name="last_name"/>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
ResourceController.php
public function show(){
$f_data = \App\revesion_registration::all();
return view('Form.show', compact('f_data'));
}
public function create(){
return view('form.create');
}
public function store(){
revesion_registration::create(request(['first_name','last_name']));
return redirect('show');
}
web.php
Route::resource('Form','ResourceController');
route:list
GET|HEAD | Form | Form.index |App\Http\Controllers\FormsController@index
POST | Form | Form.store | App\Http\Controllers\FormsController@store
GET|HEAD | Form/create | Form.create | App\Http\Controllers\FormsController@create
GET|HEAD | Form/{Form} | Form.show | App\Http\Controllers\FormsController@show
答案 0 :(得分:0)
show()
方法仅接受GET
个请求,这是您的表单正在尝试POST
进行的请求。假设您尝试在数据库中创建新记录,则应将表单更新为:
<form method="POST" action="Form">
如果已添加/更新了路由,请运行命令php artisan route:clear
清除路由缓存。
答案 1 :(得分:0)
在您的create.blade.php
文件中,
<form method="POST" action="{{ route('Form.store') }}">
在您的控制器存储方法中,
public function store(Request $request)
{
revesion_registration::create(request(['first_name','last_name']));
return redirect(route('Form.create'));
}
答案 2 :(得分:0)
使用
Route::resource('routename','ControllerClassName');
例如,我们有帖子模型
Route::resource('posts','PostController');
它将注册以下路线
Route::get('/posts', 'PostController@index')->name('posts.index');
Route::get('/posts/create', 'PostController@create')->name('posts.create');
Route::post('/posts', 'PostController@store')->name('posts.store');
Route::get('/posts/{post}', 'PostController@show')->name('posts.show');
Route::get('/posts/{post}/edit', 'PostController@edit')->name('posts.edit');
Route::put('/posts/{post}', 'PostController@update')->name('posts.update');
Route::delete('/posts/{post}', 'PostController@destroy')->name('posts.destroy');
现在开始解决您的问题
您的模型名称是revesion_registration
,您的表名称将是revesion_registrations
解决方案
您需要将路线注册为
revesionregistrations
Route::resource('revesionregistrations','RevesionRegistrationController');
在web.php
并在您的创建表单中
<form name='add_revesionregistrations' method='post' enctype="multipart/form-data" action="{{ route('revesionregistrations.store') }}" autocomplete="off">
{{csrf_field()}}
<input type="text" name='name' class="form-control">
<input type="submit" value="Submit">
</form>
您的问题将得到解决
Now My Suggestion
创建模型时不要使用小写字母
不是revesion_registration
尝试php artisan make:model RevesionRegistration -a
和
如果仅执行 CRED
操作,请使用Route::resource('routename','ControllerClassName');