【发布时间】:2021-08-25 03:30:57
【问题描述】:
似乎当我创建一个新路由时,我在尝试访问该 url 时收到 404 错误,这很有趣。因为我所有其他路线都运行良好。
<?php
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
*/
$ads_controller = 'App\Http\Controllers\AdsController@';
$favorites_controller = 'App\Http\Controllers\FavoritesController@';
Route::get('/', $ads_controller.'index')->name('index');
Route::get('/ads/favorites', $favorites_controller.'index');
Route::get('/ads/create', $ads_controller.'create')->name('ads.create');
Route::post('/', $ads_controller.'store')->name('ads.store');
Route::get('/ads/{id}', $ads_controller.'show')->where('id', '[0-9]+');;
Route::get('/ads/{id}/edit', $ads_controller.'edit')->where('id', '[0-9]+');;
Route::put('/ads/{id}', $ads_controller.'update')->where('id', '[0-9]+');;
Route::delete('/ads/{id}', $ads_controller.'destroy')->where('id', '[0-9]+');;
Route::get('/ajax/popupimgs', $ads_controller.'get_images');
Auth::routes([
'register' => true,
]);
当我访问http://127.0.0.1:8000/ads/favorites 时不起作用的是:
$favorites_controller = 'App\Http\Controllers\FavoritesController@';
Route::get('/ads/favorites', $favorites_controller.'index');
控制器如下所示:
<?php
namespace App\Http\Controllers;
use App\Models\Favorites;
use Barryvdh\Debugbar\Facade as DebugBar;
use Illuminate\Http\Request;
class FavoritesController extends Controller
{
// favorites page
public function index()
{
return view('ads.favorites');
}
}
【问题讨论】:
-
你清除/重建路由缓存了吗?
php artisan route:cache? -
有时我必须停止并重新启动我的本地环境。这很可能是本地缓存问题。
-
您可以使用
php artisan route:list查看通过工匠的可用路线,然后您可以看到每条路线的名称