Я делаю простую форму добавления новостей в администраторе рюкзака 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");
}
Сначала добавьте это сверху в вашем контроллере: —
use Illuminate\Http\Request;
use App\Http\Requests;
После этого ваша функция должна иметь этот параметр Request $ request: —
public function add(Request $request){
$data = $request->all();
return view("news.add");
}
Надеюсь, поможет!
Кажется, метода в файле маршрута нет POST
,
Измените свой маршрут следующим образом:
Route::post('/addnews',['as' => 'news.add', 'uses'=>'NewsController@add']);
Я бы порекомендовал вам использовать именованный маршрут. Это будет легко использовать.
{!! Form::open(['route' => 'news.add']) !!}
Используйте этот формат:
{!! Form::open(array('url' => 'add')) !!}
// your form fields
{!! Form::close() !!}
Ваш маршрут будет:
Route::post('/add','NewsController@add');
Надеюсь, поможет..