在拉拉维尔的开机自检表单上发送信息时出错



我是Laravel,显示错误"此路由不支持POST方法。支持的方法:获取、头、放置、修补、删除。我正在使用以下代码打开的形式::

查看寄存器:

视图的想法是以更友好的方式向用户展示如何注册以使用系统

@section('content')

<div class="card card-register mx-auto mt-5">
<div class="card-header">Criar Conta</div>
<div class="card-body">
<div class="justify-content-center">
{{Form::model(['route' => 'users.store', 'method' => 'post'])}}
<div class="form-row">
<div class="col-md-6">
{{Form::label('nome', 'Nome:')}}
{{Form::text('nome',null,['class' => 'form-control'])}}
@if ($errors->has('nome'))
{{$errors->first('nome')}}
@endif
</div>
</div>

<div class="form-row">
<div class="col-md-6">
{{Form::label('sobrenome', 'Sobrenome:')}}
{{Form::text('sobrenome',null, ['class' => 'form-control'])}}
@if ($errors->has('nome'))
{{$errors->first('nome')}}
@endif
</div>
</div>


<div class="form-row">
<div class="col-md-6">
{{Form::label('datanascimento', 'Data de Nascimento:')}}
{{Form::date('datanascimento',null,['class' => 'form-control'])}}
@if ($errors->has('datanascimento'))
{{$errors->first('datanascimento')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('cpf', 'CPF:')}}
{{Form::text('cpf',null,['class' => 'form-control'])}}
@if ($errors->has('cpf'))
{{$errors->first('cpf')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('rg', 'RG:')}}
{{Form::text('rg',null,['class' => 'form-control'])}}
@if ($errors->has('rg'))
{{$errors->first('rg')}}
@endif
</div>
</div>

<div class="form-row">
<div class="col-md-6">
{{Form::label('telefone', 'Telefone:')}}
{{Form::text('telefone',null,['class' => 'form-control'])}}
@if ($errors->has('telefone'))
{{$errors->first('telefone')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('celular', 'Celular:')}}
{{Form::text('celular',null,['class' => 'form-control'])}}
@if ($errors->has('celular'))
{{$errors->first('celular')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('rua', 'Rua:')}}
{{Form::text('rua',null,['class' => 'form-control'])}}
@if ($errors->has('rua'))
{{$errors->first('rua')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('bairro', 'Bairro:')}}
{{Form::text('bairro',null,['class' => 'form-control'])}}
@if ($errors->has('bairro'))
{{$errors->first('bairro')}}
@endif
</div>
</div>

<div class="form-row">
<div class="col-md-6">
{{Form::label('complemento', 'Complemento:')}}
{{Form::text('complemento',null,['class' => 'form-control'])}}
@if ($errors->has('complemento'))
{{$errors->first('complemento')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('numero', 'Número:')}}
{{Form::text('numero',null,['class' => 'form-control'])}}
@if ($errors->has('numero'))
{{$errors->first('numero')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('cep', 'CEP:')}}
{{Form::text('cep',null,['class' => 'form-control'])}}
@if ($errors->has('cep'))
{{$errors->first('cep')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('email', 'Email:')}}
{{Form::text('email',null,['class' =>'form-control'])}}
@if ($errors->has('email'))
{{$errors->first('email')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('password', 'Senha:')}}
{{Form::password('password',['class' => 'form-control', 'type' => 'password'])}}
@if ($errors->has('password'))
{{$errors->first('password')}}
@endif
</div>
</div>
<div class="form-row">
<div class="col-md-6">
{{Form::label('password_confirmation', 'Confirmação Senha:')}}
{{Form::password('password_confirmation',['class' => 'form-control'])}}
@if ($errors->has('password_confirmation'))
{{$errors->first('password_confirmation')}}
@endif
</div>
</div>
<div class="mt-3">
{{Form::submit('Salvar',array('class'=> 'btn btn-primary', 'id' => 'validar'))}}
{{Form::reset('Limpar', array('class' => 'btn btn-danger'))}}
</div>
{{Form::close()}}
</div>
</div>
</div>
@endsection

这是拉拉维尔路由文件:

Auth::routes();
Route::group(['middleware' => ['web', 'auth']], function () {
Route::get('/', function () {
if (Auth::user()->role == 0) {
return view('home');
} elseif (Auth::user()->role == 1) {
return view('homeemployee');
} elseif (Auth::user()->role == 2) {
return view('homerequest');
}
});
});
Route::resource('users', 'UserController');

Este é o UserController:

<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppUser;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index()
{
$users = User::all();
return view('users.index', compact('users'));
}

public function create()
{
$users = new User();
return view('users.create')->with('usuario', $users);
}
public function edit($id)
{
$users = User::find($id);
return view('users.edit')->with('usuario', $users); 
}
public function destroy(Request $request, $id)
{
$users = User::find($id);
$users->delete();
$request->session()->flash('message', 'Excluido com sucesso');
return redirect('users');
}
public function store(Request $request)
{       
$users = new User();
$users->nome = $request->input('nome');
$users->sobrenome = $request->input('sobrenome');
$users->email= $request->input('email');
$users->password = Hash::make($request->input('password'));
$users->cpf = $request->input('cpf');
$users->rg = $request->input('rg');
$users->telefone= $request->input('telefone');
$users->celular= $request->input('celular');
$users->rua= $request->input('rua');
$users->bairro= $request->input('bairro');
$users->numero= $request->input('numero');
$users->complemento= $request->input('complemento');
$users->cep= $request->input('cep');
$users->role=2;
$users->datanascimento = $request->input('datanascimento');
if ($users->save()) {
$request->session()->flash('message', 'Usuário salvo com sucesso.');
} else {
$request->session()->flash('message', 'Ocorreu um erro ao cadastrar.');
}
return redirect()->route('users.index');
}
public function update(Request $request, $id)
{
$request->validate([
'nome' => 'required'
]);
$user = User::find($id);
$user->nome = $request->input('nome');
$user->sobrenome = $request->input('sobrenome');
$user->email= $request->input('email');
$user->password = Hash::make($request->input('password'));
$user->cpf = $request->input('cpf');
$user->rg = $request->input('rg');
$user->telefone= $request->input('telefone');
$user->celular= $request->input('celular');
$user->rua= $request->input('rua');
$user->bairro= $request->input('bairro');
$user->numero= $request->input('numero');
$user->complemento= $request->input('complemento');
$user->cep= $request->input('cep');
$user->role=2;
$user->datanascimento = $request->input('datanascimento');
$user->save();
$request->session()->flash('message', 'Atualizado com sucesso');
return redirect('users');
}
}

错误图像

您似乎尚未在中间件组中定义路由。 所以这行:

{{Form::model(['route' => 'users.store', 'method' => 'post'])}}

正在通过POST方法发回您的表单并查找名为users.store的命名路由。 但是,您发布的路由文件未定义users.store路由。 我希望在您的路线中看到这样的东西:

Route::post('users', 'UserController@store')->name('users.store');

这将清除错误,因为您已在web.php中命名了路由。

长话短说,将您的自定义user资源放在上面的中间件块中。

即:

Route::group(['middleware' => ['web', 'auth']], function () {
Route::resource('users', 'UserController'); // etc.

最新更新