Ruby on rails 搜寻表格(搜掠宝石)

Ruby on rails 搜寻表格(搜掠宝石),ruby-on-rails,ransack,Ruby On Rails,Ransack,我已经能够在我的廉价股票基金网站()上获得一个搜索表单,它基于上的示例。经过一些修改(产品->基金,产品->基金,产品->基金),我就能让它工作 默认情况下,示例应用程序显示数据库表中的所有记录。对于我的应用程序来说,这不是一个可行的选择,因为它覆盖了10000多只股票基金,而将它们全部加载到页面上需要花费太多的时间 如何使搜索表单仅在条目数小于给定数字时显示条目?(我想大概是200支。)如果基金数量太多,我想提供一条类似“太多基金-请缩小搜索范围”的信息。如果资金数量为0,我想提供一条消息,说

我已经能够在我的廉价股票基金网站()上获得一个搜索表单,它基于上的示例。经过一些修改(产品->基金,产品->基金,产品->基金),我就能让它工作

默认情况下,示例应用程序显示数据库表中的所有记录。对于我的应用程序来说,这不是一个可行的选择,因为它覆盖了10000多只股票基金,而将它们全部加载到页面上需要花费太多的时间


如何使搜索表单仅在条目数小于给定数字时显示条目?(我想大概是200支。)如果基金数量太多,我想提供一条类似“太多基金-请缩小搜索范围”的信息。如果资金数量为0,我想提供一条消息,说“没有可用资金-请扩大搜索范围”。页面上的200个条目仍然很安静,我希望您将使用will_paginate gem来控制这一点,实现非常简单

如果您使用的是ransack,那么您可以调用这样的方法

def method
  if @search.result.count >= 200
    redirect_to root_path, notice: " Please narrow your search"
  elsif @search.result.count == 0
    redirect_to root_path, notice: "0 search results returned"
  else
   true
end
如果您想防止加载太多,那么您可以始终在@search.result上调用.limit(x)方法


希望这能有所帮助。

通过使用Kaminari gem对搜索结果进行分页,我可以让我的搜索表单快速运行。我试过will_paginate,但我无法让它对我起作用。我想我本可以坚持使用will_paginate gem,但Railscast对Kaminari的报道比对will_paginate的报道要晚。考虑到RubyonRails是多么的挑剔,以及旧程序中的细节是多么的过时,我决定使用Kaminari