我的控制器发布了一个表单来创建新页面。发布表单后,我需要将用户重定向到新页面,该页面将包含在先前表单中输入的该页面的内容。如果我只返回了view('mynewpageview', compact('mycontent'));
,其中mycontent是用于执行$mycontent->save();
命令的对象,那么我就有可能有人刷新URL从而通过创建新页面两次发布相同的内容。>
相反,我想将用户重定向到实际的页面网址。
我的路线是
Route::get('/newpage/{id}', 'PageController@pagebyid');
,如果我使用return redirect()->route('/newpage/$pageid');
,其中$pageid = $mycontent->id;
会收到“路由未定义”错误。
如何阻止某人重新提交内容或采用正确的语法来传递参数?
答案 0 :(得分:0)
对我有用的正确答案是-
return redirect()-> route('newpageid',['id'=> $ pageid]);
答案 1 :(得分:0)
使用基本(未命名)路由,正确的语法为return redirect('/newpage/'.$pageid);
您已经发现可以选择使用named routes。
最后但并非最不重要的,感谢您考虑了“两次提交”问题!您实际上已经实现了PRG pattern:)