Laravel 4 REST的路由参数 [英] Laravel 4 Route Parameters for REST

查看:70
本文介绍了Laravel 4 REST的路由参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能是一个简单的问题,但我正在使用Laravel进行测试.我相应地设置了这样的路线:

This might be a simple problem but I'm on testing with Laravel. I set my routes like this accordingly:

// Users Route
Route::get('users',array('as'=> 'users', 'uses'=> 'UsersController@index'));
Route::get('users/{id}', array('as' => 'user', 'uses' => 'UsersController@show') );
Route::get('users/{id}/edit', array('as' => 'edit_user', 'uses' => 'UsersController@edit') );
Route::get('users/new', array('as' => 'new_user', 'uses' => 'UsersController@create'));
Route::post('users',  'UsersController@create');
Route::delete('users', 'UsersController@destroy');

现在,在我的浏览器中,如果我访问localhost/users/new,它将调用名为用户"的路由,而不是"new_user".我的意思是,它将加载用于编辑的路由,而不是用于创建用户.

Now, in my browser, if I visit localhost/users/new, it will call the route named "user" not the "new_user". What I mean is, it will load the route for edit not for creating users.

我的代码怎么了?

推荐答案

优先级很重要,只需更改为:

Precedence matters, just change to:

Route::get('users',array('as'=> 'users', 'uses'=> 'UsersController@index'));
Route::get('users/new', array('as' => 'new_user', 'uses' => 'UsersController@create'));
Route::get('users/{id}', array('as' => 'user', 'uses' => 'UsersController@show') );
Route::get('users/{id}/edit', array('as' => 'edit_user', 'uses' => 'UsersController@edit') );
Route::post('users',  'UsersController@create');
Route::delete('users', 'UsersController@destroy');

Laravel假定'new'是您的{id}参数.

Laravel assumed that 'new' was your {id} parameter.

这篇关于Laravel 4 REST的路由参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆