laravel 5路线不工作?

时间:2016-03-17 12:57:55

标签: laravel laravel-routing laravel-5.2

我的更新文件中有此链接:

<a href="{{ url("detach/$team->id/group/$user->id") }}">
  <button type="submit" class="btn btn-danger btn-xs">Detach from this group</button>
</a>

这就是路线:

Route::resource('groups', 'TeamsController');
Route::get('detach/{user_id}/group/{team_id}', 'TeamsController@detach_user')->name("groups.detach_user");

当我点击按钮时,它应该转到detach_user,而是转到更新功能,这就是网址的样子。

localhost/group/1

我不知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

您提供的HTML代码是否已放置在表单标记中?如果是这种情况,您可以触发表单提交而不是链接点击。这可以解释你的情况。

因此,如果是这种情况,只需将链接代码放在表单标记之外。

答案 1 :(得分:0)

从此处更改声明顺序:

Route::resource('groups', 'TeamsController');
Route::get('detach/{user_id}/group/{team_id}', 'TeamsController@detach_user')->name("groups.detach_user");

要:

Route::get('detach/{user_id}/group/{team_id}', 'TeamsController@detach_user')->name("groups.detach_user");
Route::resource('groups', 'TeamsController');

根据文档,这可能是个问题。 Check the documentation

  

补充资源控制器

     

如果有必要向资源添加其他路由   超出默认资源路由的控制器,您应该定义那些   在你调用Route :: resource之前的路由;否则,路线   由资源方法定义的可能无意中优先   在你的补充路线上