Страница возврата маршрута Laravel не найдена, отказываясь запускать прикрепленную функцию - PullRequest
0 голосов
/ 10 октября 2019

У меня есть форма, которую я отправляю на маршрут, используя POST, как только он попадает на этот маршрут, я инструктирую его запустить функцию в контроллере, после чего он возвращает ошибку 400. Сначала я подумал, что это связано с тем, что Laravel не обрабатывает мой новый маршрут в файле web.php. Я пошел по SSH и сделал маршрут: список, и мой новый маршрут был там.

Я также обновил кэш маршрутов и очистил его, все еще безрезультатно.

Интересно, однако, если япоместите неправильное имя функции на маршрут, флаги Laravel и error и объявят, что функция не существует, но когда я изменяю имя функции на свое фактическое имя функции, возникает ошибка 400. Я признаю, что это может быть сама функция, но я ожидаю, что она выдаст ошибку, что с ней не так, как 400!

             <form action="{{ url('/all-events') }}" method="POST"> {{ csrf_field() }}  
                            <div class="product-showing mb-40">
                               <input  autocomplete="false" value="{{ucfirst($lowercase_city)}}" hidden name="city"> 
                               <button class="btn" type="submit">
                                        <span class="btn-text">View Events in {{ucfirst($lowercase_city)}}</span> <span class="btn-border"></span>
                               </button>

                            </div>
              </form> 

И тогда мой маршрут настроен как

Route::post('all-events', 'FrontendController@post_all_events')->name('event.post_all_events')

Мои функции

    public function post_all_events(Request $request)
    {       
        $city_name = $request->city;        

        $city = Town::findOrFail($city_name);       

        $lowercase_city = Str::lower($city->town);

        return redirect('/all-events/'.$lowercase_city);        
    }

1 Ответ

0 голосов
/ 10 октября 2019

Вам нужно будет перенаправить на страницу, которая имеет маршрут создания, то есть:

return redirect()->route('parties', ['city' => $lowercase_city]);

Затем создайте для него маршрут, то есть:

Route::get('parties/{city}', 'YourController@functionName');

Надеюсь, это поможет,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...