我正在使用Laravel 5.5。
我的目标是在同一个控制器上重定向到另一个方法,以显示包含数据的视图。
class SeancesController extends Controller {
...
public function getRecommandations(Request $request) {
...
$data = [
'recommandationAutresActiviteMemeDateHeure' => $recommandationAutresActiviteMemeDateHeure,
'recommandationsMemeActiviteMemeHeure' => $recommandationsMemeActiviteMemeHeure,
'recommandationsMemeActiviteMemeDate' => $recommandationsMemeActiviteMemeDate
];
return redirect()->action('SeancesController@showRecommandations', $data);
}
public function showRecommandations(Request $request) {
return view('listeRecommandations', $request->data);
}
}
这是正确的方法吗?因为我收到此错误:
InvalidArgumentException:未定义Action App \ Http \ Controllers \ SeancesController @ showRecommandations。在第338行的/home/nicolas/public_html/M1_CSI/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php文件中
我需要使用action
,因为我使用ajax调用来访问getRecommandations()
。
我用过这个文档:http://laraveldaily.com/all-about-redirects-in-laravel-5/。
我没有在路由文件中添加指向showRecommendations
的路由。这是一个问题?
感谢帮助!
我没有在路由文件中添加指向showRecommendations的路由。这是一个问题?
是的,这是一个问题。因为重定向器检查分配给操作的路由并将用户重定向到路由。