Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 14.02.2017 16:18:44

respectpick
Откуда: Москва
Сообщений: 83

Route [/] not defined.

нужно редиректнуть юзера по условию.

делаю

return redirect()->route('/');

ловлю ошибку - Route [/] not defined.

как фиксить это?

Не в сети

#2 14.02.2017 16:44:07

skiphog
Откуда: Киров, Россия
Сообщений: 26

Re: Route [/] not defined.

А что вы пытаетесь сделать? Не url ли случайно передаете?

->route('route name');
Сюда передается имя маршрута. У вас назван хоть один маршрут так?
Посмотрите artisan route:list.  Есть там такой? Скорее всего нет...

Но если вы хотите такое имя, то надо добавить в определении роута ->name('/')

Например

Route::get('/','IndexController@index')->name('/');

Не в сети

#3 14.02.2017 17:04:47

respectpick
Откуда: Москва
Сообщений: 83

Re: Route [/] not defined.

skiphog пишет:

А что вы пытаетесь сделать? Не url ли случайно передаете?

->route('route name');
Сюда передается имя маршрута. У вас назван хоть один маршрут так?
Посмотрите artisan route:list.  Есть там такой? Скорее всего нет...

Но если вы хотите такое имя, то надо добавить в определении роута ->name('/')

Например

Route::get('/','IndexController@index')->name('/');

а где вообще эти имена роутов указываются?

у меня такие маршруты

Route::get('/', 'WelcomeController@index');

Route::get('home', 'HomeController@index');

Route::get('generate', 'CompgenController@generateImage');

Route::get('replace', 'CompgenController@replaceImage');

Route::get('perehod', 'CompgenController@perehod');

Route::resource('fileUpload', 'CompgenController@fileUpload');

Route::get('userFiles', 'CompgenController@userFiles');

Route::get('feedback', 'CompgenController@feedback');

Route::post('addfeedback', 'CompgenController@addfeedback');

Не в сети

#4 14.02.2017 17:07:28

respectpick
Откуда: Москва
Сообщений: 83

Re: Route [/] not defined.

когда пытаюсь так сделать

Route::get('/','IndexController@index')->name('/');

получаю

Call to undefined method Illuminate\Routing\Route::name()

У меня laravel 5.0.35 если что

Не в сети

#5 14.02.2017 17:27:10

skiphog
Откуда: Киров, Россия
Сообщений: 26

Re: Route [/] not defined.

В 5.0 присваивать имена маршрутам так
https://laravel.com/docs/5.0/routing#named-routes

Если вы перенаправляете на главную через ->route('/'), то в вашем случае надо в роутах написать так

Route::get('/',[
    'as' => '/', 'uses' => 'WelcomeController@index'
]);

Но можно и не давать никакие имена маршрутам. В контроллере сделайте редирект на url: return redirect('/')  или action.
Тем более на главную страницу...

Не в сети

#6 14.02.2017 17:30:03

respectpick
Откуда: Москва
Сообщений: 83

Re: Route [/] not defined.

спасибо, благодарю

Не в сети

#7 14.02.2017 19:19:52

Re: Route [/] not defined.

respectpick пишет:

нужно редиректнуть юзера по условию.

делаю

return redirect()->route('/');

ловлю ошибку - Route [/] not defined.

как фиксить это?

redirect()->route('тут пишется алиас')

из

Route::get('/', 'WelcomeController@index');
Route::get('/', ['as' => 'тут пишется алиас', 'uses' =>  'WelcomeController@index']);

Не в сети

Подвал раздела