首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从超链接调用路由资源操作

从超链接调用路由资源操作
EN

Stack Overflow用户
提问于 2015-08-29 07:22:41
回答 1查看 2.1K关注 0票数 1

我在调用路由资源时有一个常见的问题。我需要从我的href链接的路由资源调用操作edit()。我的代码如下所示:

routes中有:

代码语言:javascript
复制
Route::resource('admin/settings/basic' , 'admin\settings\BasicController');

在我的index.blade.php中有:

代码语言:javascript
复制
<li><a href="{{ link_to_route('admin/settings/basic.edit') }}">Basic Settings</a></li>

它可能在我的href链接中调用,link_to_route?似乎工作不正常。唯一可行的办法是:

代码语言:javascript
复制
  <li><a href="{{ URL::to('admin/settings/basic/{basic}/edit') }}">Basic Settings</a></li> 

但是,当我使用它的时候,url就坏了:

代码语言:javascript
复制
http://test.dev/admin/settings/basic/%7Bbasic%7D/edit

我怎样才能像这样修复这个链接:

例如,http://test.dev/admin/settings/basic/edit

EN

回答 1

Stack Overflow用户

发布于 2015-08-29 19:20:07

当您声明这样的路由资源时:

代码语言:javascript
复制
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中,您定义了如下所示的资源路由:

代码语言:javascript
复制
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。可以使用如下所示的路由功能:

代码语言:javascript
复制
<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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32283658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档