编辑用户详细信息后,提交时需要使用新的编辑详细信息重定向到用户页面
After editing user details, when submiting need to redirect to user page with the fresh edit details
我正面临一个简单但困难的路由问题!所以我正在用 laravel 使用 blade 构建一个应用程序。我的问题很简单,当我编辑用户详细信息时,我会根据需要重定向到我的用户页面,但信息没有更新!我怎样才能做到这一点?我尝试了很多东西,我再也看不出有什么问题了!
有人可以帮助我理解我的错误吗?谢谢!一个法国新手 :)
<button type="submit" class="btn btn-outline-success btn-block"><a href="{{redirect()->route('users.show',['id'=>$user->id])}}"></a>Valider la modification</button>
<a>
内 <button>
的 href
属性优先于 <form>
的 action
属性,因此您的更新操作永远不会叫。您应该在路由操作中执行重定向,例如控制器:
class UserController extends Controller
{
// other actions
public function update(Request $request, $id)
{
$user = User::find($id);
$user->fill($request->all()); // Do not fill unvalidated data
if (!$user->save()) {
// Handle error
// Redirect to the edit form while preserving the input
return redirect()->back()->withInput();
}
// Redirect to the 'show' page on success
return redirect()->route('users.show', ['id' => $user->id]);
}
// more actions
}
您的表单应该与此类似:
<form action="{{ route('user.update', ['id' => $user->id]) }}" method="POST">
<!-- Use @method and @csrf depending on your route's HTTP verb and if you have CSRF protection enabled -->
@method('PUT')
@csrf
<!-- Your form fields -->
<button type="submit" class="btn btn-outline-success btn-block">
Valider la modification
</button>
</form>
我正面临一个简单但困难的路由问题!所以我正在用 laravel 使用 blade 构建一个应用程序。我的问题很简单,当我编辑用户详细信息时,我会根据需要重定向到我的用户页面,但信息没有更新!我怎样才能做到这一点?我尝试了很多东西,我再也看不出有什么问题了!
有人可以帮助我理解我的错误吗?谢谢!一个法国新手 :)
<button type="submit" class="btn btn-outline-success btn-block"><a href="{{redirect()->route('users.show',['id'=>$user->id])}}"></a>Valider la modification</button>
<a>
内 <button>
的 href
属性优先于 <form>
的 action
属性,因此您的更新操作永远不会叫。您应该在路由操作中执行重定向,例如控制器:
class UserController extends Controller
{
// other actions
public function update(Request $request, $id)
{
$user = User::find($id);
$user->fill($request->all()); // Do not fill unvalidated data
if (!$user->save()) {
// Handle error
// Redirect to the edit form while preserving the input
return redirect()->back()->withInput();
}
// Redirect to the 'show' page on success
return redirect()->route('users.show', ['id' => $user->id]);
}
// more actions
}
您的表单应该与此类似:
<form action="{{ route('user.update', ['id' => $user->id]) }}" method="POST">
<!-- Use @method and @csrf depending on your route's HTTP verb and if you have CSRF protection enabled -->
@method('PUT')
@csrf
<!-- Your form fields -->
<button type="submit" class="btn btn-outline-success btn-block">
Valider la modification
</button>
</form>