刚刚从Raphael Saunier那里获得了“Laravel 4入门”电子书 并尝试了教程,同时在routes.php中编写了Route :: get 我得到一个错误说
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
当我写这样的代码时
Route::get('cats/{cat}', function($cat){
return View::make('cats.single')->with('cat', $cat);
});
Route::get('cats/create', function() {
$cat = new Cat;
return View::make('cats.edit')
->with('cat', $cat)
->with('method', 'post');
});
但从packtpub下载源文件后,我交叉检查所有代码是完全相同的,但只有序列不同,如下
Route::get('cats/create', function() {
$cat = new Cat;
return View::make('cats.edit')
->with('cat', $cat)
->with('method', 'post');
});
Route::get('cats/{cat}', function($cat){
return View::make('cats.single')->with('cat', $cat);
});
在routes.php上确定路由序列差异吗?我怎么能现在错误来自路线序列?
答案 0 :(得分:4)
是。顺序绝对重要。一旦路线与您当前的网址匹配,其他路线就不再被检查。
由于Route::get('cats/{cat}', ...)
与cats/
+任何内容匹配,因此它还包含cats/create
。