我在调用路由资源时有一个常见的问题。我需要从我的href链接的路由资源调用操作edit()。我的代码如下所示:
在routes中有:
Route::resource('admin/settings/basic' , 'admin\settings\BasicController');在我的index.blade.php中有:
<li><a href="{{ link_to_route('admin/settings/basic.edit') }}">Basic Settings</a></li>它可能在我的href链接中调用,link_to_route?似乎工作不正常。唯一可行的办法是:
<li><a href="{{ URL::to('admin/settings/basic/{basic}/edit') }}">Basic Settings</a></li> 但是,当我使用它的时候,url就坏了:
http://test.dev/admin/settings/basic/%7Bbasic%7D/edit我怎样才能像这样修复这个链接:
例如,http://test.dev/admin/settings/basic/edit
发布于 2015-08-29 19:20:07
当您声明这样的路由资源时:
Route::resource('admin/settings/basic' , 'admin\settings\BasicController');它创建了以下路由:

注意编辑URI (最后一行)。因此,使用路由资源编辑方法,您必须传递如下参数:
admin/settings/basic/{basic}/edit,其中{basic}接受参数。
因此,按照路由资源约定,编辑链接应该生成以下内容:
http://test.dev/admin/settings/basic/1/edit
解决方案在4号
1)在route.php中,您定义了如下所示的资源路由:
Route::resource('admin/settings/basic' , 'admin\settings\BasicController');因此,您必须在这里创建BasicController.php App\Http\Controllers\admin\settings\BasicController.php (如果您还没有创建)
3)你的edit.blade.php应该放在
views/admin/settings/basic/edit.blade.php
因此,不要在视图中使用link_to_route。可以使用如下所示的路由功能:
<li><a href="{{ route('admin.settings.basic.edit', $user->id) }}">Basic Settings</a></li>注意,您必须传递一个id参数($user->id)。这将产生以下URI:
http://test.dev/admin/settings/basic/1/edit
https://stackoverflow.com/questions/32283658
复制相似问题