Метод 405 не допускает ошибки при публикации данных из формы в Laravel 5.4 Backpack Admin

Я делаю простую форму добавления новостей в администраторе рюкзака Laravel 5.4, просто чтобы иметь обзор Laravel 5.4, но застрял при публикации данных из формы новостей, расположенной в режиме просмотра новостей / добавления. Хотя я отправляю действие в News Controller при добавлении метода, но он показывает метод 405, недопустимая ошибка. Пожалуйста, проверьте мой код ниже и дайте мне знать, в чем проблема. Может быть, я делаю какую-то глупую ошибку, извините, если это так.

Вид: add.blade.php

{!! Form::open(['action' => 'NewsController@add']) !!}
<div class="form-group">
<label for="title">Title:</label>
<input name="title" id="title" type="text" class="form-control" required>
</div>
<div class="form-group">
<label for="description">Description:</label>
<textarea name="description" id="description" class="form-control">
</textarea>
</div>
<button class="btn btn-default" type="submit" name="submitBtn"value="Submit">Submit</button>
{!! Form::close() !!}

Контроллер: NewsController.php

public function add(){
echo "<pre>"; print_r($this->data->request); die;
return view("news.add");
}

Метод & lt; code & gt; 405 не допускает ошибки при публикации данных из формы в Laravel 5.4 backpack Admin & lt; / code & gt;

1

Решение

Сначала добавьте это сверху в вашем контроллере: —

use Illuminate\Http\Request;
use App\Http\Requests;

После этого ваша функция должна иметь этот параметр Request $ request: —

public function add(Request $request){
$data = $request->all();
return view("news.add");
}

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

1

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

Кажется, метода в файле маршрута нет POST,

Измените свой маршрут следующим образом:

Route::post('/addnews',['as' => 'news.add', 'uses'=>'NewsController@add']);

Я бы порекомендовал вам использовать именованный маршрут. Это будет легко использовать.

{!! Form::open(['route' => 'news.add']) !!}
0

Используйте этот формат:

{!! Form::open(array('url' => 'add')) !!}
// your form fields
{!! Form::close() !!}

Ваш маршрут будет:

Route::post('/add','NewsController@add');

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

0