squ*_*dev 1 php laravel laravel-4 laravel-routing
我正在使用laravel 4进行cms项目,而且我的路线有些问题......
这些是我目前的路线
Route::get('/', 'IndexController@showNews');
Route::get('/logout', 'UserController@logout');
Route::resource('/login', 'UserController');
Route::resource('/user', 'UserController@index');
Route::resource('/user/{route}', 'UserController');
// Routes that shows us the pages...
Route::get('/{page}', 'IndexController@showPage');
Route::get('/{page}/{id}', 'IndexController@showPage');
Run Code Online (Sandbox Code Playgroud)
对于我的用户路线,我有一个自定义路由器,用于路由用户信息,而不是真正的问题.但所有这些都很有效,但是当我尝试导航到"/ test"时,Wich会链接到测试页面,它会给我这个错误.
Route pattern "/user/{route}/{{route}}" cannot reference variable name "route" more than once.
Run Code Online (Sandbox Code Playgroud)
它涉及路由器逻辑,我对laravel相当新.我有办法解决这个问题吗?这是用户/路由和/ route通配符之间的冲突.
Route::resource('/user', 'UserController@index');
Route::resource('/user/{route}', 'UserController');
Run Code Online (Sandbox Code Playgroud)
问题是您正在使用Route::resource
声明路由,而使用Route::resource
您实际上是声明一个RESTful控制器,其中包含一个由Laravel自动处理的操作表.您使用不正确.
查看文档以查看在后台处理哪些路由(以及冲突的来源):
看一下名为Actions Handled By Resource Controller的表
对于不在表中的任何路由处理程序,您必须声明单独的路由.就像是:
Route::get('foo/filter/{filterName}/{filterValue}',
array('as'=>'filteredroute','uses'=>'FooController@filter'))
Run Code Online (Sandbox Code Playgroud)
总结一下,Route::resource
您可以快速进行CRUD RESTful访问.
归档时间: |
|
查看次数: |
1975 次 |
最近记录: |