【问题标题】: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。

标签: laravel controller routing laravel-routing


【解决方案1】:

尝试改变

Route::get('/product/{$slug}', 'ProductsController@view')->name('product.view');

到

Route::get('/product/{slug}', 'ProductsController@view')->name('product.view');

参考:Laravel Routing

【讨论】:

  • 是的!那就是问题所在。我刚刚在我的机器上检查了它。我怀疑这会是问题所在,但不是 100% 确定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多