ruby-on-rails - Elasticsearch默认页面加载无结果

标签 ruby-on-rails search elasticsearch

在我的索引页面上,我显示了streams,可以使用elasticsearch对其进行搜索。

  def index

    @streams = Stream.search(params)

  end

页面加载时,将显示所有结果,并且用户可以进行搜索,并且将显示搜索结果。

我如何拥有它,以便在页面加载时默认情况下不显示任何结果?仅当用户进行搜索时,结果才会返回。

最佳答案

首先,我将设置与您的用户搜索相关的params。您可以将其存储在params[:search]之类的文件中。然后,您要做的就是检查params[:search]的内容:

def index
  @streams = params[:search] ? Stream.search(params[:search]) : Stream.none
end
Stream.none是Rails 4方法,将返回一个空关系

关于ruby-on-rails - Elasticsearch默认页面加载无结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404226/

相关文章:

javascript - 如何检索从桌面应用程序发送到 Rails API 的图像

ruby-on-rails - 将不同的 delivery_method 与 ActionMailer 一起用于单个电子邮件?

search - nGram 部分匹配和限制 nGram 导致多字段查询

django - 在模板中使用 django haystack 搜索和全局搜索栏

laravel - 如何在AWS Elastic Search中进行批量索引

基于 Unix 时间戳的 Java 范围聚合

ruby-on-rails - 在测试中模拟嵌套参数

ruby-on-rails - config.action_view.debug_rjs 将在 3.1 中删除,从 3.1 开始您将需要安装prototype-rails才能继续使用 RJS 模板

algorithm - 线性搜索和二分搜索有什么区别?

elasticsearch - 使用 elasticsearch 进行地理查询