Laravel returning a blank page only on certain routes

僤鯓⒐⒋嵵緔 提交于 2019-12-30 09:59:08

问题


I'm having an issue where a route is returning a blank page. I am using Homestead as my dev environment and I'm unsure how to debug.

The /storage/logs/laravel ... isn't returning any exceptions when I visit the white page.

web.php (where it's failing):

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

Controller.php:

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

Yet when I visit /clinic/register I am shown a blank white page. How can I see why it's failing? Surely a white page will return an exception somewhere?


回答1:


As you have not provided your entire route setup. This answer is my best guess. See if it helps.

Your issue hint at improper route setup. If you have created a clinic resource then clinic/register route should precede it.

// 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');

The reason behind getting a blank pages is because Route::resource will create some route with wildcards. For e.g. clinic/{clinic} which will map to show method on controller. So when you make a get request to clinic/register it will be mapped to this show method instead of your register method.

One possibility for not getting any errors is your show method does not have any code yet. Hence, a blank response.

To summarize: Order in which you register your routes matters



来源:https://stackoverflow.com/questions/40451599/laravel-returning-a-blank-page-only-on-certain-routes

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!