路由未命中控制器
Posted
技术标签:
【中文标题】路由未命中控制器【英文标题】:Route Not Hitting Controller 【发布时间】:2019-06-26 23:14:47 【问题描述】:当我尝试为产品创建视图时,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');
【问题讨论】:
你能显示web.php
的内容吗?
你的slug列是主键吗?
@Davit web.php 添加
@Md.SukelAli 不,这是另一个需要解决的问题。即使视图函数只是说 return "test";
我得到了 404。
【参考方案1】:
尝试改变
Route::get('/product/$slug', 'ProductsController@view')->name('product.view');
到
Route::get('/product/slug', 'ProductsController@view')->name('product.view');
参考:Laravel Routing
【讨论】:
是的!那就是问题所在。我刚刚在我的机器上检查了它。我怀疑这会是问题所在,但不是 100% 确定。以上是关于路由未命中控制器的主要内容,如果未能解决你的问题,请参考以下文章
来自弹出表单的 ajax 数据发布未命中控制器方法 ASP.NET MVC