2015-04-23 6 views
1

Это не первый раз, когда я использовал параметры маршрута в laravel, однако я не могу заставить это работать.Маршруты Laravel, возвращающие 404 с параметрами маршрута

Маршрут:

Route::group(['prefix' => 'admin', 'before' => 'auth|beta|admin'], function() 
{ 
    Route::post('remove/{$id}', ['uses' => '[email protected]', 'as' => 'admin.postremoveid']); 
}); 

Контроллер:

public function postRemoveID($id) 
{ 
    $remove = ServiceProvider::where('id','=',$id)->first(); 
    $remove->delete(); 

    return Redirect::route('admin.manage'); //This just redirects to the page the user is currently on 
} 

клинка:

<a href="{{ route('admin.postremoveid', $id) }}"> 
    <i class="fa fa-times"></i> 
</a> 

Что будет вызывать мой сайт б e перенаправление на 404?

Спасибо за помощь! -Patrick

+0

Вы ждете параметра GET в контроллере, в то время как маршрут отвечает на запрос POST. Если вы хотите использовать запрос POST, получите 'id' с' Input :: get ('id') '(см. Мой ответ). – ryancey

ответ

2

Использование маршрута: получить();

Route::get('remove/{id}', ['uses' => '[email protected]', 'as' => 'admin.postremoveid']); 

Контроллер:

public function getRemoveID($id) 
{ 
    $remove = ServiceProvider::where('id','=',$id)->first(); 
    $remove->delete(); 

    return Redirect::route('admin.manage'); //This just redirects to the page the user is currently on 
} 
+0

Спасибо! Это решило мою проблему! –

+0

Добро пожаловать. – mydo47

2

Вам не нужно, что $ на джокера

Route::group(['prefix' => 'admin', 'before' => 'auth|beta|admin'], function() 
{ 
    Route::post('remove/{id}', ['uses' => '[email protected]', 'as' => 'admin.postremoveid']); 
}); 
+0

Спасибо! Это была одна из проблем, но я получал метод nototcepted error. Ответ Мой Дела решил. Спасибо еще раз за помощь! –

Смежные вопросы