【问题标题】:Resource Controller on Route of Site?站点路径上的资源控制器?
【发布时间】:2026-01-22 09:10:01
【问题描述】:

如何在我的站点路由上使用资源控制器:

Route::resource('/', 'TestController');

我点击了网址:

mysite.dev/some-slug-to-get-in-controller

并且show方法不起作用,只是一个错误说路由不存在。

我查看了路线列表:

GET|HEAD  | /       | index   | TestController@index
POST      | /       | store   | TestController@store
GET|HEAD  | create  | create  | TestController@create
GET|HEAD  | {}      | show    | TestController@show
PUT|PATCH | {}      | update  | TestController@update
DELETE    | {}      | destroy | TestController@destroy
GET|HEAD  | {}/edit | edit    | TestController@edit

【问题讨论】:

    标签: laravel laravel-5 laravel-5.2


    【解决方案1】:

    你应该改变它以获得所需的效果

    Route::resource('/{slug}', 'TestController');

    【讨论】:

    • 不起作用。路由模式“/{slug}/{{slug}}”不能多次引用变量名“slug”。
    【解决方案2】:

    为了完成你想要的,你需要将你的资源控制器指向some-slug-to-get-in-controller,那么你的新路由将是Route::resource('/some-slug-to-get-in-controller', 'TestController');

    在您的代码中,您将资源控制器指向/ 路由,而不是您期望看到的路由。

    【讨论】:

    • 是的,它必须是硬编码的,你不能引用动态路由。