我有一个显示名单列表的表格,旁边有一个“编辑”按钮和隐藏的id值。 单击“编辑”按钮将隐藏的id作为表单值发布并显示编辑页面,以便用户可以更改该人员的详细信息。很标准。
编辑细节并提交我正在使用验证器时。如果验证失败,则需要返回编辑页面并显示错误。问题是编辑页面需要通过POST方法获取Id值,但重定向似乎只使用GET方法,这导致“找不到控制器方法”错误,因为没有设置Get路由。
有谁知道如何通过POST而不是GET重定向回页面。目前我的代码如下:
public function postEditsave(){
...
if ($validator->fails())
{
return Redirect::to('admin/baserate/edit')
->withErrors($validator)
->withInput();
}else{
...
感谢
答案 0 :(得分:4)
您可以使用Redirect :: back() - > withInput();
您可能希望将用户重定向到之前的位置,例如,在提交表单后。您可以使用back方法
来完成此操作
答案 1 :(得分:1)
您无需使用POST即可转到修改页面。您可以在路线中使用GET和参数,请查看:http://laravel.com/docs/routing#route-parameters
你有一个GET路由来显示编辑页面,以及一个用于在用户提交表单时处理请求的POST路由。
它看起来像这样(注意参数):
public function getEdit($id)
{
return View::make(....);
}
public function postEdit($id)
{
...
return Redirect::back()->withErrors($validator)->withInput();
}
答案 2 :(得分:0)
如果存在“使用POST重定向”,那么我不知道。我建议你只使用flash数据
Redirect::to('user/login')->with('id', 'something');
答案 3 :(得分:0)
您可以使用Redirect::to("dashboard/user/$id")->withErrors($validator)->withInput();
。如果验证有任何错误,您应该使用双引号来传递参数。