2017-02-04 1 views
0

Я пытаюсь реализовать форму создания категории на бэкэнд сайта, который я создаю. Идея состоит в том, чтобы она была на той же странице, что и индекс существующих категорий. Однако в настоящее время система создания ничего не делает. Он не возвращает ошибку; ничего не отображается в базе данных при запросе напрямую; и ничего нового не появляется на странице в соответствии с перенаправлением. Поскольку обратной связи нет, я нащупываю то, что по-другому или не так в этом маршруте, по сравнению с тем же самым способом, который я сделал для механизма создания сообщений раньше. В любом случае, вот соответствующая форма создания:Laravel: метод «хранилище» контроллера ресурсов не дает никаких результатов, нет ошибок

<form method="POST" action="{{ route('categories.store') }}" data-parsley-validate> 
     <div class="form-group"> 
      <label name="name">Category Name:</label> 
      <input id="name" name="name" class="form-control" required maxlength="255"> 
     </div> 
     <input type="submit" value="Create" class="btn btn-lg btn-block"> 
     <input type="hidden" name="_token" value="{{ Session::token() }}"> 
</form> 

Вот 'магазин' метод из CategoryController:

public function store(Request $request) 
    { 
     $this->validate($request, array(
      'name' => 'required|max:255' 
     )); 

     $category = new Category; 
     $category->name = $request->name; 
     $category->save(); 

     Session::flash('success', 'Category has been created!'); 

     return redirect()->route('categories.index'); 
    } 

А вот файл web.php маршруты:

<?php 

Route::get('/', '[email protected]'); 
Route::get('/contact', '[email protected]'); 

Route::resource('posts', 'PostController'); 
Route::resource('categories', 'CategoryController'); 
Route::get('blog/{slug}', '[email protected]')->where('slug', '[\w\d\-\_]+'); 
Route::get('blog', '[email protected]'); 

Auth::routes(); 

Route::get('/home', '[email protected]'); 

?> 

Опять же, я не получаю никаких сообщений об ошибках вообще, просто кнопка отправки ничего не делает. Заранее спасибо!

ответ

0

попробовать это

return redirect('categories.index')->withErrors($validation); 

Вы также можете проверить это

Display errors

+0

другой вещь, чтобы попробовать обернуть все это в попытке поймать. – Paul

+0

Вышеуказанное, а также рекомендованная ссылка не повлияли. RE: рекомендация оператора try-catch, я предполагаю, что идея состоит в том, чтобы обернуть все текущее действие хранилища в предложении try? – user968270

0

обнаружена ошибка сама. В верхней части рассматриваемого представления есть таблица для отображения существующих категорий. У закрывающего тега отсутствовала его косая черта, которую я забыл. По-видимому, это полностью прервало функциональность формы, которая появилась позже, без каких-либо ошибок.

Мораль этой истории: Если вы работаете с динамическим поведением в веб-приложении и не получаете каких-либо исключений, есть вероятность, что это связано с тем, что ошибка в вашем HTML.

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