Маршрут не найден - PullRequest
       2

Маршрут не найден

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

Я получаю сообщение об ошибке 404|Not found, пока маршрут существует и отладчик включен. У меня есть cleared route cache, но все равно отображается ошибка, когда у меня php artisan route:list отображается POST | products/{product}/favourites | product.fav.store | App\Http\Controllers\HomeController@store Как я могу решить эту проблему?

контроллер

public function store(Request $request, Product $product)
{
    $request->user()->favouriteProducts()->syncWithoutDetaching([$product->id]);

    return back();
}

Blade

<span class="pull-right">
<a href="" onclick="event.preventDefault(); document.getElementById('product-fav-form').submit();">Add to Fav</a>

<form id="product-fav-form" class="hidden" action="   {{route('product.fav.store', $product) }}" method="POST">
{{ csrf_field()}}
</form>
</span>

Маршрут

 Route::post('/products/{product}/favourites', 'HomeController@store')->name('product.fav.store');

Ответы [ 3 ]

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

Попробуйте это,

 <form method="POST" action="{{ route('product.fav.store', ['product' => $product->id]) }}">

Измените функцию контроллера

public function store(Request $request,$product)
{
$request->user()->favouriteProducts()->syncWithoutDetaching($product);

return back();
}
0 голосов
/ 16 октября 2019

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

<form id="product-fav-form" class="hidden" action="{{route('product.fav.store', $product->name)}}" method="POST">

контроллер:

public function store(Request $request, $name) {
    $request->user()->favouriteProducts()->syncWithoutDetaching($name);
    return back();
}
0 голосов
/ 16 октября 2019

Вы должны изменить свой маршрут следующим образом.

<form action="{{ route('product.fav.store', ['product' => $product->id]) }}" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...