Rails:如何在搜索结果中使用构面

2024-03-25

我有一个铁路应用程序,我正在其中搜索维修店。搜索类方法如下所示:

def self.search(params)
        if params
            repairshop = Repairshop.where(:approved => true)

            if params[:radius].present?
                repairshop = repairshop.near(params[:location], params[:radius]) if params[:location].present?
            else
                repairshop = repairshop.near(params[:location], 200) if params[:location].present?              
            end

            if params[:keywords].present?
                repairshop = repairshop.joins(:specializations).joins(:brands_we_services).where("LOWER(specializations.title) LIKE ? OR LOWER(brands_we_services.title) LIKE ? OR LOWER(repairshop.title) LIKE ?", "%#{params[:keywords].downcase}%", "%#{params[:keywords].downcase}%", "%#{params[:keywords].downcase}%")
            end

            repairshop.uniq
        else
            all
        end

    end

维修店可以有许多专业化和品牌服务。因此,搜索除其他参数之外的所有名称非常重要。

The search form looks like this: enter image description here

一切正常。搜索控制器将我带到搜索页面。控制器动作如下:

def search
        @repairshops = Repairshop.search(params)
end

搜索结果如下所示:

我的问题是:

在搜索页面左侧的搜索框下方,我想提供用于过滤结果的方面。我想提供动态的方面。就像根据搜索结果一样,它提供了城市(维修店数量)等方面的信息。

我不想使用弹性搜索或 solr。我想了解如何从头开始构建动态分面搜索,从搜索结果构建分面的基础知识.

注意:我研究了四十个方面,但无法理解如何使用 Repairshop 模型中的复杂类方法搜索并将其集成到class MovieSearch < FortyFacets::FacetSearch由控制器根据文档提供。

非常感谢您的帮助。谢谢!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails:如何在搜索结果中使用构面 的相关文章

  • 在 MySQL 中存储 IPv6 地址

    正如 需要支持 ipv6 的 inet aton 和 inet ntoa 函数 http bugs mysql com bug php id 34037 目前没有用于存储 IPv6 地址的 MySQL 函数 用于存储 插入的推荐数据类型 函
  • 选择另一个表连接的每行的最小值

    我有下表 Table1 Table2 CardNo ID Record Date ID Name Dept 1 101 8 00 11 7 2013 101 Danny Green 2 101 13 00 11 7 2013 102 Tan
  • 如何将字符串列更改为 bigint?

    在轨道迁移中 如何将字符串类型列更改为 bigint I have t change ip number from integer limit gt 8 I get PG Error ERROR column ip number from
  • Linux命令:如何仅“查找”文本文件?

    经过几次谷歌搜索后 我得出的结论是 find my folder type f exec grep l needle text exec file grep text 这非常不方便 并且会输出不需要的文本 例如 mime 类型信息 还有更好
  • Postgres 在插入访问 NEW 后触发

    我有一个非常简单的触发器 CREATE OR REPLACE FUNCTION f log datei RETURNS TRIGGER AS BEGIN INSERT INTO logs aktion tabelle benutzer id
  • 为什么页面锚点在 Ruby On Rails 中不起作用?

    因此 我的链接具有用于加载 ajax 的 href 值和用于链接到页面顶部的 onclick 值 当我单击链接时 ajax 内容都会加载 并且 url 会显示对锚点的引用 但页面不会移动到锚点 我已经尝试过锚点show html erb a
  • ruby 2.1.2超时仍然不是线程安全的吗?

    我有 50 个 sidekiq 线程在网络上爬行 几周前 这些线程在运行大约 20 分钟后开始挂起 当我执行回溯转储时 大多数线程都卡在 net http 初始化上 app vendor ruby 2 1 2 lib ruby 2 1 0
  • 查找分区内最大的连续数字组

    我有以下按player id 和match date 排序的数据 我想找出连续运行次数最多的记录组 从2014 04 03到2014 04 12连续3次运行4次 player id match date runs 1 2014 04 01
  • 根据 rowversion 值更新记录?

    我最近实现了SQLrowversion以防止我的系统中出现并发问题 我用rowversion更新表中的单行时在 where 子句中 到目前为止 我已经测试过 似乎是一个很好的解决方案 现在我正在寻找一种简单的方法来在我的系统中实现此功能 这
  • BigQuery 中的 EXP() 返回浮点错误

    我有以下查询 SELECT EXP col FROM project dataset tablename Where col is FLOAT 但是 我收到此错误 Error Floating point error in function
  • 发生错误:“无法调用 nvarchar 上的方法。”

    我编写了一个查询来查找与特定问题相关的答案 但在运行此代码时收到此错误 无法调用 nvarchar 上的方法 select Posts Id as Answer ParentId as question User DisplayName a
  • 如何使用共享数据库在 Heroku 上进行 GIS 查询?

    我有一张带有纬度和经度的地理编码位置表 我希望我的数据库查询返回它们的过滤列表 按距固定点的距离排序 我探索过以下几个选项 Postgresql 的 Earthdistance 贡献 http www postgresql org docs
  • counter_cache 与 has_many :through

    我刚刚创建了一个 counter cache 字段 控制器如下所示 users User where sex gt 2 order received likes count User rb 中的关联是 has many received l
  • 适用于 Web 照片库的正确 NoSQL 数据架构

    我正在寻找为照片库的 NoSQL 存储构建合适的数据结构 在我的网络应用程序中 一张照片可以是一个或多个相册的一部分 我有使用 MySQL 的经验 但几乎没有使用键值存储的经验 使用 MySQL 我将设置 3 个表 如下所示 photos
  • ORA 00904 错误:无效的标识符

    我已经在虚拟 XP 中安装了 Oracle 10g 并使用以下命令创建了一个表 create table reg1 fname varchar2 30 lname varchar2 30 addr varchar2 30 mail varc
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT
  • 为什么sql表名中通常使用下划线而不是驼峰式大小写[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 帮助加入 Rails 3

    我有以下型号 class Event lt ActiveRecord Base has many action items end class ActionItem lt ActiveRecord Base belongs to event
  • 将 SQL 依赖关系与 Azure 结合使用

    在我的本地数据库中 Sql 依赖关系工作正常 但是当我迁移到 Azure 数据库时 它就不起作用了 我检查服务代理是否已启用 并且它已激活 这是错误 此版本的 SQL Server 不支持语句 RECEIVE MSG 这是我的代码 publ
  • 插入到表中并在 SQL 中拆分字符串

    我想将分割字符串插入到我的表中 如您所见 create table Organization organizationId bigint provienceId bigint CityId bigint TownId bigint Inse

随机推荐

  • 在 Javascript 中使用 Math random 生成大数

    我需要使用 Math random 生成 26 位数字 但是当我使用它时 Math floor Math random 100000000000000000000000000 900000000000000000000000000 I ge
  • Firebase 搜索子项并返回父项键

    我试图通过对其子参数的搜索返回 Firebase 中的 UID 键值 Users BCsuC4XAZq0MDK1taLcD2 Name Test1 Phone 0011223344 t50GPKxb8mgINGbmGJrR83 Name T
  • 蚂蚁设计。如何动态设置表单字段错误消息?

    表单字段有很多异步检查规则 因为复合 api 可以通过返回不同的结果一次检查这些规则 所以我不想触发这么多 api 请求 语法更新为v4 新语法是 setFields Set fields status fields FieldData g
  • swift 函数调用:self 关键字与不使用 self 关键字

    我想知道类中的这两个函数调用之间是否有任何区别 self myFuction VS myFunction 它以两种方式发挥作用 有没有必要使用self关键字的情况 大多数情况下 绝对没有区别 但如果省略 self 则更加 迅速 但有一种情况
  • 如何配置额外/不同的迁移文件夹

    我和一位同事正在从事共享一些模型的不同项目 因此 我们通过 git 子模块共享模型 此外 我们还希望能够共享迁移 这样 我同事的迁移就会在文件夹中db migrate other db我的项目 如何配置 Rails 迁移以在这个额外文件夹中
  • Rails4 未知编码名称 - CP720

    当我想运行任何 gem 命令时 例如 我收到此错误 gem install rubygems update 错误 while executing gem ArgumentError unknown encoding name CP720 所
  • 自动增量已自动重置回 1

    我刚刚遇到了一个我无法解决的问题 我有一个数据库表project queues它用作队列 我在其中存储一些记录 处理记录后 它们将被删除 删除是由 Rails 构造调用的record destroy在触发的循环中DELETE record
  • WPF:绑定到类内的列表

    我有一个文件类定义如下 public class File public string FileName set get public List
  • 如何在世博会上运行“@apollo/client”

    我有一个裸露的反应本机 然后我将项目转换为expo项目 因为该项目没有与主 React Native 项目一起运行 所以在创建 expo 项目后 我尝试运行该项目 但它给了我这个错误 While trying to resolve modu
  • 在 Fortran 95 中按值传递参数

    如何在调用函数参数时保留其值而不创建新变量 这就是 如何按值传递参数 在此示例代码中 program what implicit none integer a b c d a 1 b 2 c 3 print a b c d f val a
  • varchar 和 int mysql 数据类型的默认值

    屏幕截图显示了数据类型的 3 个典型定义 id 自动增量 标题和数字 1 之间有哪些区别 none and NULL 2 我必须选择吗as defined 当我想要一个空字符串时 对于 varchar 类型 3 我必须放一个as defin
  • 我什么时候应该使用 Response.Redirect(url, true)?

    我正在重定向到一个错误页面 其中包含一条经过美化的错误消息Application Error 在 Global asax 中 目前它说 Response Redirect Error aspx true 应该是 Response Redir
  • MongoDB:cursor.toArray 返回 Promise { }

    情况 我写了一个查询 var results db collection diseases find ttl txt regex data options i toArray Problem 然后我打印了results到控制台 if res
  • VBA 中运行时错误 429,但类已注册

    我正在尝试重新创建一个程序 该程序使用 JavaScript 打开与 PLC 的连接 然后在网页上显示各种信息 由于各种原因 我宁愿将其以 MS Access 的形式保存 并且一直在努力寻找合适的 dll 来使用 Jet32X dll 如果
  • Chrome 中的 HTML5 视频边框半径不起作用

    我试图让我的 HTML5 视频具有透明的左上角和左下角圆角 就像使用 border radius 时的行为一样 不幸的是 在 Chrome 中 由于某种原因 border radius 在 HTML 视频标签上不起作用 但在 IE10 和
  • numpy stride_tricks.as_strided 与滚动窗口的列表理解

    在处理滚动窗口时 我以列表理解的方式编写函数 np std x i i framesize for i in range 0 len x framesize hopsize 最近我发现numpy lib stride tricks as s
  • bash 重命名带有空格的文件时出错 - mv 目标不是目录

    我正在尝试重命名一堆包含空格的文件 去掉空格 我以为我找到了正确的 bash 命令 for f in txt do mv f f done 但是 这会给每个文件带来错误 mv 目标不是目录 如果我在命令中将 mv 替换为 echo mv 它
  • 确定PDF文件中的页数[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要使用 C 代码 NET 2 0 确定指定 PDF 文件的页数 PDF 文件将从文件系统读取 而不是从 URL 读取 有谁知道如何
  • 如何在 Javascript 中格式化时间戳以将其显示在图表中? UTC 没问题

    基本上 我收到原始时间戳 需要将它们格式化为 HH MM SS 格式 这是一个提供灵活的 UTC 日期格式的函数 它接受类似于 Java 的 SimpleDateFormat 的格式字符串 function formatDate date
  • Rails:如何在搜索结果中使用构面

    我有一个铁路应用程序 我正在其中搜索维修店 搜索类方法如下所示 def self search params if params repairshop Repairshop where approved gt true if params