答案 0 :(得分:5)
您的所有WEB路线都将位于文件中:
routes\web.php
在那里注册您的路线。
答案 1 :(得分:3)
请注意路线顺序,这非常重要(老实说,欺骗了我很多次)。
由于Laravel会从上到下浏览路由列表,直到找到第一个匹配项为止,根据经验,尝试先定义不带参数的路由,然后再在路由文件(web / api)中定义带有参数的路由。
Route::get('/blog/{id}', 'BlogController@show');
Route::get('/blog/comments', 'BlogController@comments');
在这种情况下,Route::get('/blog/{id}', 'BlogController@show');
首先出现,因此将其选中。即使您真正想要的是Route::get('/blog/comments', 'BlogController@comments');
我的两分钱:)
答案 2 :(得分:1)
当Controller方法中的findOrFail
方法失败时,我遇到了这个问题。
答案 3 :(得分:0)
我认为你可以使用这个命令:
php artisan config:cache
php artisan view:clear
这些命令使用,我希望您的错误解决
答案 4 :(得分:0)
确保您的register.blade.php
在resources/views
目录中,并从分配给此视图的URL中删除斜杠。
有时storage/logs/laravel.log
日志文件中的错误消息(如果使用默认配置)也可以提供帮助。
答案 5 :(得分:0)
很多原因导致此操作不起作用
路线可能写得很好,例如:Route::get('/boost/{type}/{{type_id}}', ['uses' => 'RequestController@getBoosted', 'as'=>'boosts/{{type}}/{{type_id}}']);
应该是这样的:Route::get('/boost/{type}/{type_id}', ['uses' => 'RequestController@getBoosted', 'as'=>'boosts/{type}/{type_id}']);
看上面的两个代码,第二条路线是正确的,因为大括号是一个而不是两个
可能您需要清除在极少数情况下发生的缓存
可能的开发人员未将链接正确放置在控制器Return view('site.block')
上
您必须确保所引用的页面在正确的位置