如何在使用惯性手动访问时传递路由参数

How to pass route param while using Inertia manual visit

如何在使用惯性手动访问时传递路由参数,例如:

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
                    },
                },
            );

但是显示错误,

一个简单的解决方案是:

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

请确保顺序正确,按照你的路由参数的顺序

Ziggy 出现错误,提示您需要传递 $post,

好的,把route('explore.post.like')改成route('explore.post.like', this.id)

根据 Ziggy 文档,您还可以使用 like :

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