如何允许用户在 Rails 上使用 Elastic Search 和 Searchkick 仅搜索他们的帖子?

How to allow users to search only their posts using Elastic Search with Searchkick on Rails?

我希望用户只能搜索自己的帖子,而不能显示其他用户创建的帖子。我该怎么做呢?我正在使用 Elastic SearchSearchkick gem.

我试过了,但它仍然显示其他用户的帖子:

帖子管理员

@posts = current_user.posts.search params[:search]

也许您需要添加一个 where 子句以仅搜索用户

的 post
@posts = current_user.posts.where(user_id: current_user.id).search(params[:search])

根据 searchkick,以下应该有效:

Post.search params[:search], where: {user_id: current_user.id}