Публикация отзыва и отображение отзыва на той же странице в Laravel - PullRequest
2 голосов
/ 04 июня 2019

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

Я использую Laravel 5.7, и именно так мой код выглядит сейчас

web.php

Route::post('books/{book}', 'RatingController@store');

контроллер

public function store(Request $request)
{
    dd($request);
}

просмотр

<form action="/books/{{$book->id}}" method="POST">
    @csrf

    <input type="text" class="form-control" name="username">

    <textarea class="form-control" name="comment" rows="3"></textarea>

    <button type="submit" class="btn btn-primary btn-block">Post</button>
</form>

Когда я отправляю форму, я не вижу выгруженных данных, но остаюсь на той же странице, и вместо этого URL выглядит так http://127.0.0.1:8000/books/1?_token=gAkb9P6ryh2vVs4nj0db4gggBzqZPzUg0fQp3fCC&username=Fomsky&comment=awesome+reading

Это не то поведение, которое я хочу, я хочу использовать данные request внутри моего контроллера, поэтому я и сначала выгружаю их.

Какой правильный способдостичь моей цели?

1 Ответ

0 голосов
/ 04 июня 2019

Попробуйте как это:

******* ВАРИАНТ 1 ********

Маршрут

Route::resource('books', 'RatingController');

Контроллер

public function store(Request $request)
{
    dd($request->all());
}

Форма

<form action="{{ route('books.store') }}" method="POST">
    @csrf

    <input type="text" class="form-control" name="username">
    <input type="hidden" name="book_id" value="{{ $book->id}}">
    <textarea class="form-control" name="comment" rows="3"></textarea>

    <button type="submit" class="btn btn-primary btn-block">Post</button>
</form>

*******ВАРИАНТ 2 ********

Маршрут

Route::post('books/store', 'RatingController')->name('books_store');

Контроллер

public function store(Request $request)
{
    dd($request->all());
}

Форма

<form action="{{ route('books_store') }}" method="POST">
    @csrf

    <input type="text" class="form-control" name="username">
    <input type="hidden" name="book_id" value="{{ $book->id}}">
    <textarea class="form-control" name="comment" rows="3"></textarea>

    <button type="submit" class="btn btn-primary btn-block">Post</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...