Route не работает на моем проекте laravel 5.1

Я пытаюсь определить маршруты для доступа к некоторым представлениям, но это не работает: /

Route::group(['prefix' => 'messages'], function () {
Route::get('/', ['as' => 'messages', 'uses' => 'MessagesController@index']);
Route::get('create', ['as' => 'messages.create', 'uses' => 'MessagesController@create']);
Route::post('/', ['as' => 'messages.store', 'uses' => 'MessagesController@store']);
Route::get('{id}', ['as' => 'messages.show', 'uses' => 'MessagesController@show']);
Route::put('{id}', ['as' => 'messages.update', 'uses' => 'MessagesController@update']);
});

Я всегда перенаправлен на домашний вид (‘/’) моего проекта, когда я вошел в систему.

Если я попытаюсь войти в качестве гостя, например: http://myproject.dev/messages Я получаю ошибку 404!

Пакет, который я пытаюсь вставить в свой проект: https://github.com/cmgmyr/laravel-messenger

Я установил его на новую версию laravel 5.1, и он работает, но в моем проекте это не работает!

Мой проект локальный с MAMP PRO.

С помощью команды php artisan route: list я вижу, что маршруты существуют!

введите описание изображения здесь

РЕДАКТИРОВАТЬ: Мои маршруты для аутентификации было плохо!
Route :: controller (‘/’, ‘Auth \ AuthController’) не является хорошим решением!

1

Решение

Чтобы использовать MessagesController, пользователь должен пройти аутентификацию. Это означает, что пользователь должен быть зарегистрирован. Идея состоит в том, что если пользователь не вошел в систему, он должен быть перенаправлен на страницу входа. Чтобы сделать это, вы должны добавить промежуточное программное обеспечение аутентификации в группу Route ::. Промежуточное программное обеспечение аутентификации обнаружит, вошел ли пользователь в систему, и если оно не зарегистрировано, оно будет перенаправлено на страницу входа.

Route::group(['middleware' => 'auth', 'as' => 'messages.', 'prefix' => 'messages'], function () {
Route::get('', ['as' => 'index', 'uses' => 'MessagesController@index']);
Route::get('create', ['as' => 'create', 'uses' => 'MessagesController@create']);
Route::post('', ['as' => 'store', 'uses' => 'MessagesController@store']);
Route::get('{id}', ['as' => 'show', 'uses' => 'MessagesController@show']);
Route::put('{id}', ['as' => 'update', 'uses' => 'MessagesController@update']);
});

Я думаю, что это ошибка

0

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

Я до сих пор не могу комментировать, поэтому я напишу ответ.
Мне никогда не удавалось поместить «корневой» маршрут в группу маршрутов. Laravel нужно что-то там, вы не можете использовать «/» или «».
Видя ваш код, я предлагаю вам использовать вид ресурса.

Route::resource('messages', 'MessagesController');

Это сгенерирует все ваши маршруты. Я надеюсь, что это помогает.

0

По вопросам рекламы [email protected]