为啥我的路由在调用破坏函数后会失败?
Posted
技术标签:
【中文标题】为啥我的路由在调用破坏函数后会失败?【英文标题】:Why do my routes fail after calling a destroy function?为什么我的路由在调用破坏函数后会失败? 【发布时间】:2021-12-22 13:41:04 【问题描述】:这段代码已经进行了几次迭代,但我只会展示迄今为止效果最好的代码(没有错误)。
销毁函数:
public function destroy($locale, $id)
Component::where('id', $id)->delete();
$locale = App::getLocale();
return route('components.index', compact('locale'));
索引函数(参考上面):
public function index($locale)
parent::lang($locale);
$components = Component::paginate(10);
return view('production/index-component', compact('components'));
相关路线:
Route::group(['prefix' => 'locale'], function()
Route::resource('/components', ComponentController::class);
);
Resulting URL
否则,销毁功能会起作用,记录将被删除(在转到正确的 URL 时)。理想情况下,这应该只是将用户重定向回 locale/components。
提前谢谢你!
【问题讨论】:
Welcome to SO ...您将 URL 作为字符串返回,而不是重定向响应 ...查看文档以返回重定向 laravel.com/docs/8.x/responses#redirecting-named-routes 哇,谢谢!我很尴尬地说这已经困扰了我多久了。 【参考方案1】:归功于 lagbox,
public function destroy($locale, $id)
Component::where('id', $id)->delete();
$locale = App::getLocale();
return redirect()->route('components.index', ['locale' => $locale]);
效果很好。
【讨论】:
以上是关于为啥我的路由在调用破坏函数后会失败?的主要内容,如果未能解决你的问题,请参考以下文章