Laravel 仅在某些路线上返回空白页

Laravel returning a blank page only on certain routes

我遇到了路由 return 空白页的问题。我正在使用 Homestead 作为我的开发环境,但我不确定如何调试。

当我访问白页时,/storage/logs/laravel ... 没有 return 任何异常。

web.php(失败的地方):

Route::get('/clinic/register', 'ClinicController@register');

Controller.php:

public function register()
{
    return view('clinic.register', ['specialisms' => Specialism::pluck('specialism', 'id')]);
}

然而,当我访问 /clinic/register 时,我看到的是空白页面。我怎样才能看到它失败的原因?白页肯定会 return 某处异常?

因为您没有提供完整的路线设置。这个答案是我最好的猜测。看看有没有帮助。

您的问题提示路由设置不当。如果您已经创建了 clinic 资源,那么 clinic/register 路由应该在它之前。

// clinic/register route should come first
Route::get('clinic/register','ClinicController@register');

// followed by rest of the routes which resource will create
Route::resource('clinic','ClinicController');

得到空白页的原因是 Route::resource 会创建一些带有通配符的路由。 例如clinic/{clinic} 将映射到控制器上的显示方法。因此,当您向 clinic/register 发出获取请求时,它将映射到此 show 方法而不是您的 register 方法。

没有出现任何错误的一种可能是您的 show 方法还没有任何代码。因此,空白响应。

总结一下:注册路由的顺序很重要