我正在为我的Demo Rails应用程序尝试使用Tire gem来实现ElasticSearch .

所以,这是我的模型协会: -

用户属于许多用户组 . 并且每个UserGroup都有许多与之关联的帖子 .

所以,这就是我在posts_controller.rb中显示用户的所有帖子的方法

def index

    @user_groups = current_user.user_groups

    for group in @user_groups
        for p in group.posts
            @posts = @posts.to_a.push p
        end
    end
end

现在,我想为其添加搜索功能 . 用户可以从他可见的所有帖子中搜索帖子 .

所以,我有两个相互联系的问题 .

Q1 . 如何通过为用户使用Tire gem添加搜索功能,以便用户可以从他可见的帖子中搜索?轮胎允许使用直接搜索模型

@posts = Post.search(params [:query])

但是,我想从一个数组中搜索 .

Q2 . 其次,我的方法是否正确,首先将相关的帖子存储在一个数组中,然后使用Tire从该数组中搜索?