2015-10-20 10 views
3

У меня проблема с моим маршрутом в группе. Вот мой код:Laravel Blank white page

Route::group(['prefix' => 'commodities'], function(){ 
    Route::get('commodities', [ 
     'as' => 'showCommodities', 'uses' => '[email protected]' 
    ]); 

    Route::get('{id}', [ 
     'as' => 'showCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::get('add', [ 
     'as' => 'addCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::post('update', [ 
     'as' => 'updateCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::post('destroy', [ 
     'as' => 'destroyCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::post('add', [ 
     'as' => 'storeCommodity', 'uses' => '[email protected]' 
    ]); 
}); 

Я вставил CommodityController код здесь http://pastebin.com/bWrdVhsv

Все работает, кроме GET маршрута commodites/add. Я всегда получаю белую страницу. Моя отладка установлена ​​на TRUE, и у меня для нее правильный лезвие.

Я что-то упустил?

+1

Можете ли вы показать нам свой 'CommodityController'? – Adrenaxus

+0

@Adrenaxus, обновил сообщение – FewFlyBy

+0

У вас есть файл с именем 'add.blade.php' в' views/pages/admin/goods'? – Adrenaxus

ответ

5

Проблема заключается в порядке ваших маршрутов.

Переместить add маршрут выше вашего улова все {id} маршрут.

Route::group(['prefix' => 'commodities'], function(){ 
    Route::get('commodities', [ 
     'as' => 'showCommodities', 'uses' => '[email protected]' 
    ]); 

    Route::get('add', [ 
     'as' => 'addCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::get('{id}', [ 
     'as' => 'showCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::post('update', [ 
     'as' => 'updateCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::post('destroy', [ 
     'as' => 'destroyCommodity', 'uses' => '[email protected]' 
    ]); 

    Route::post('add', [ 
     'as' => 'storeCommodity', 'uses' => '[email protected]' 
    ]); 
}); 

Laravel проведет ваш файл routes.php сверху вниз. Следующий маршрут по существу является уловкой всех.

Route::get('{id}', [ 
     'as' => 'showCommodity', 'uses' => '[email protected]' 
]); 

Это означает, что он будет ловить все GET запросы на URL-адресов, которые соответствуют шаблону:

/commodities/some-kind-of-string.

Поскольку uri соответствует указанному выше шаблону, он будет использовать этот маршрут, потому что он появляется первым в файле маршрутов.

+0

WOW! Это действительно сработало. – FewFlyBy

+0

Хорошая добыча! Я забыл об этом. – Adrenaxus

+0

BTW, как порядок влияет на этот? – FewFlyBy