站点路径上的资源控制器?

Posted

技术标签:

【中文标题】站点路径上的资源控制器?【英文标题】:Resource Controller on Route of Site? 【发布时间】:2016-12-29 04:41:19 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

不起作用。路由模式“/slug/slug”不能多次引用变量名“slug”。【参考方案2】:

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

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

【讨论】:

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

以上是关于站点路径上的资源控制器?的主要内容,如果未能解决你的问题,请参考以下文章

获取在其基本路径中也有参数的资源控制器的参数

资源模型名称与路径或控制器不匹配时如何编写路由

控制 mainBundle 资源路径 iOS 开发

Springboot Thymeleaf 在控制器中使用多级路径时无法找到静态资源

资源站点 - 各种安装包的资源路径

如何防止静态资源被映射在 /* 上的前端控制器 servlet 处理