James Wong
James Wong

Reputation: 355

How to pass route param while using Inertia manual visit

How can I pass the route param while using Inertia manual visit, for example:

Route:

Route::post('/explore/gallery/like/{$post}', [ExploreController::class, 'likeToggle'])
    ->name('explore.post.like');

Component:

Inertia.visit(route('explore.post.like'),
                {
                    method: 'post',
                    preserveScroll: true,
                    data: {
                        $post: this.id
                    },
                },
            );

but is shows the error tho,

enter image description here

Upvotes: 2

Views: 4599

Answers (2)

James Wong
James Wong

Reputation: 355

A simple solution would be:

Inertia.post(route('explore.post.like', [this.id, 'if you have other params']), {}, {
                preserveScroll: true,
            });

Pls make sure the order is correct, follow the order of your route's param

Upvotes: 2

Mahdi
Mahdi

Reputation: 1060

Error occur in Ziggy, and says you need pass $post,

Ok, Change route('explore.post.like') to route('explore.post.like', this.id)

According Ziggy documentation you can also use like :

route('explore.post.like', this.id)
route('explore.post.like', [this.id])
route('explore.post.like', { $post: this.id })

Upvotes: 2

Related Questions