Проблема маршрутизации, вызывающая ошибку Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

Я получаю эту ошибку при тестировании моего кода. Я знаю, что это проблема маршрутизации, но я не вижу ничего плохого в моих маршрутах.

Вот маршруты, которые вызывают проблемы:

Route::get('/messages', 'MessageController@create');
Route::get('/messages/show/{comment}', 'MessageController@show');

Вот контроллер:

class MessageController extends BaseController
{

protected $messageForm;

public function __construct(MessageForm $messageForm, MessageRepository $messageRepository,
MessageRecord $messageRecord)
{
$this->messageForm = $messageForm;
$this->messageRepository = $messageRepository;
$this->messageRecord = $messageRecord;
}

/**
* Display a listing of the resource.
* GET /messages
*
* @return Response
*/
public function create()
{
return View::make('message.create');
}public function show($comment)
{
$message_id = $this->messageRepository->find($comment);
return View::make('message.show')->with('comment', $message_id);
}

/**
* Store a newly created resource in storage.
* POST /messaages
*
* @return Response
*/
public function store()
{
$data = Input::all() ;
$this->messageForm->validate($data);

$messageRecord = new MessageRecord;
$messageRecord->comment = $data['comment'];

Return "Comment created";
}
}

composer.json

  {
"name": "Desk",
"description": "Control desk",
"keywords": ["desk"],
"require": {
"laravel/framework": "4.2.*",
"ornicar/gravatar-bundle": "1.1.*"},
"require-dev": {
"behat/behat": "3.0.*",
"behat/mink-extension": "~2.0@dev",
"behat/mink-goutte-driver": "~1.0",
"phpunit/phpunit": "4.0.*",
"mockery/mockery": "dev-master",
"way/generators": "dev-master",
"doctrine/dbal": "2.3.*"},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/controllers/parts",
"app/controllers/cross",
"app/database/migrations",
"app/database/seeds",
"app/database/seeds/parts",
"app/tests/TestCase.php",
"app/tests/FreshDatabase.php"],
"psr-4": {
"Desk\\": "app/desk"}
},
"scripts": {
"post-install-cmd": [
"php artisan optimize"],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"],
"post-create-project-cmd": [
"php artisan key:generate"]
},
"config": {
"preferred-install": "dist"},
"minimum-stability": "dev",
"prefer-stable": true
}

0

Решение

  1. Ваш show маршрут ожидает $comment параметр. Этот маршрут должен
    быть:

    Route::get('message/show/{comment}', 'MessageController@show');
    
  2. Вы управляете auth фильтр на этом маршруте? Если это так, попробуйте удалить
    фильтр до (или временно изменить его на ['before' => 'none'])
    и перезагрузите маршрут.

    Если твой AuthController не настроен или отсутствует логин
    метод, вы получите NotFoundHttpException когда auth
    фильтровать filter.php пытается перенаправить на вашу страницу входа. (Увидеть
    аналогичный вопрос
    Вот).

0

Другие решения

Других решений пока нет …