以下是HTML表单的代码
<form method="POST" action={{ route('store') }} class="col s12">
@csrf
<div class="row">
<div class="input-field col s6">
<input name="task" id="task" type="text" class="validate">
<label for="task">New Task</label>
</div>
</div>
@include('partials.coworkers')
<button type="submit" class="waves-effect waves-light btn">Add Task</button>
</form>
@isWorker
<br><br><br>
<form action="" class="col s6">
<div class="row">
<div class="input-field col s6">
<select>
<option value="" disabled selected>Send Invitation To</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<label>Send Invitation</label>
</div>
</div>
<a class="waves-effect waves-light btn">Send Invitation</a>
</form>
这是我在控制器内部存储方法的代码。
public function store(Request $request){
if ($request->input('task')) {
$task = new Task;
$task->content = $request->input('task');
Auth::user()->tasks()->save($task);
}
return redirect()->back();
}
web.php:
Route::middleware(['auth'])->group(function(){
Route::get('/', 'CrudApp@index');
Route::get('/store', 'CrudApp@store')->name('store');
Route::get('/edit/{id}', 'CrudApp@edit')->name('edit');
Route::get('/update/{id}', 'CrudApp@update')->name('update');
Route::get('/delete/id', 'CrudApp@delete')->name('delete');
});
我想将任务存储到数据库中。一旦我点击保存MethodNotAllowedHTTPException
,我就无法弄清楚如何解决问题。
答案 0 :(得分:6)
首先:
php artisan route:cache
在路径文件中的任何更改(在您的情况下为web.php)之后进行。
现在你的代码。看你用POST:
<form method="POST" action={{ route('store') }} class="col s12">
所以改变:
Route::get('/store', 'CrudApp@store')->name('store');
在:
Route::post('/store', 'CrudApp@store')->name('store');
答案 1 :(得分:0)
使用以下命令,您将获得路线列表,您可以在其中找到路线:
php artisan route:list
然后作为@Adam回答:
php artisan route:clear
php artisan route:cache
在您的查询中,我认为您正在使用资源控制器。
如果您使用资源方法,那么您不必单独编写所有路径
您也可以在一行中写下您的路线:
Route::resource('demo-segment', 'DemoController');
您也可以跳过资源控制器中的不必要方法
Route::resource('demo-segment', 'DemoController', [
'except' => ['show', 'edit', 'update', 'destroy'] // This is not usable methods
]);
谢谢,可以帮助别人。