I have a view whit the next code:
<h1>Edicion</h1>
@foreach ($usuarios as $usu)
<h4>{{$usu->nombre}}</h4>
<a href="prurequests/{{$usu->slug}}/edit">editar</a>
@endforeach
This route:
Route::resource('/prurequests','PruebasControllers\PrurequestsController');
The method edit:
public function edit($slug)
{
$usuario = Usuario2::where('slug','=',$slug)->firstOrFail();
return view('vistaspruebas.edit', compact('usuario'));
}
In this route my URL is: /public/prurequests/vaca/edit
此视图“ vistaspruebas.edit”中的代码为:
<form action="prurequests/suma" method="POST">
@method('PUT')
@csrf
<label for="nombre">ingrese nombre</label>
<input type="text" name="nombre" value="{{$usuario->slug}}">
<br />
<button type="submit" name="" value="submit">Actualiza</button>
</form>
代替寻找此路线:“ prurequests / suma” Laravel寻找 / public / prurequests / vaca / prurequests / suma
有人知道为什么在标记和调用其他路由之后,它删除“ edit”并通过我在此处输入的其他路由进行更改?
答案 0 :(得分:0)
请在您的表单中使用action()辅助方法,如下所示:
<form action="{{ action('Controller@method') }}" method="POST">
或者您可以使用以下路由助手方法:
<form action="{{ route('route_name') }}" method="POST">
如果您要使用给定的路径,也可以使用url()帮助器:
<form action="{{ url('path_here') }}" method="POST">