路由未命中控制器
Route Not Hitting Controller
当我尝试为产品创建视图时,URL 构建正确。
http://localhost:8000/product/my-slug
但是,我收到 404 页面未找到,我不知道为什么。就像控制器没有被调用一样。
启蒙
<a href="{{ route('product.view', $product->slug) }}">
路线
Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');
控制器
public function view($slug)
{
$product = Product::find($slug);
return view('products.view', compact('product'));
}
查看
<h1>{{ $product->name }}</h1>
编辑
web.php
Route::get('/', 'ProductsController@index')->name('product.index');
Route::get('/products/create', 'ProductsController@create')->name('product.create');
Route::post('/products', 'ProductsController@store')->name('product.store');
Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');
/*Route::get('/users', 'UsersController');*/
Route::get('/contact', 'PagesController@contact');
Route::get('/about', 'PagesController@about');
尝试改变
Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');
至
Route::get('/product/{slug}', 'ProductsController@view')->name('product.view');
当我尝试为产品创建视图时,URL 构建正确。
http://localhost:8000/product/my-slug
但是,我收到 404 页面未找到,我不知道为什么。就像控制器没有被调用一样。
启蒙
<a href="{{ route('product.view', $product->slug) }}">
路线
Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');
控制器
public function view($slug)
{
$product = Product::find($slug);
return view('products.view', compact('product'));
}
查看
<h1>{{ $product->name }}</h1>
编辑
web.php
Route::get('/', 'ProductsController@index')->name('product.index');
Route::get('/products/create', 'ProductsController@create')->name('product.create');
Route::post('/products', 'ProductsController@store')->name('product.store');
Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');
/*Route::get('/users', 'UsersController');*/
Route::get('/contact', 'PagesController@contact');
Route::get('/about', 'PagesController@about');
尝试改变
Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');
至
Route::get('/product/{slug}', 'ProductsController@view')->name('product.view');