ruby-on-rails - 在 Rails 5 上使用 pg_search 在类别名称关键字下查找帖子
问题描述
我正在使用 gempg_search
并对网站和帖子表进行多重搜索。我可以按记录标题搜索,但我也希望能够根据记录所属的类别搜索记录。
因此,例如,当我键入“typographic”(类别名称)来搜索输入时,应该列出该类别下的所有网站和帖子记录,以及标题中包含“Typographic”的所有记录。
我认为它可以通过关联来完成,但我无法让它发挥作用♂️
_header.html.erb
<%= form_tag search_index_path, method: :get do %>
<%= text_field_tag :query, params[:query], placeholder: "Search" %>
<% end %>
search_controller.rb
class SearchController < ApplicationController
def index
@pg_search_result = PgSearch.multisearch(params[:query])
end
end
模型/post.rb
class Post < ApplicationRecord
include PgSearch
multisearchable :against => :title,
using: {tsearch: {disctionary: "english"}},
associated_against: {category: :title},
ignoring: :accents
模型/网站.rb
class Website < ApplicationRecord
include PgSearch
multisearchable :against => [:title, :website_url],
using: {tsearch: {disctionary: "english"}},
associated_against: {website_category: :title},
ignoring: :accents
解决方案
推荐阅读
- fabricjs - 删除文本框中的文本而不删除fabric.js中画布上的文本框
- reactjs - 获取点击的对象并填写 ReactJS 中的输入
- php - 如何使用 wp_json_encode() 漂亮地打印 JSON?
- vega-lite - 缩小时限制比例范围
- mysql - 在哪里新建列
- rtos - 为什么在使用 waf 脚本构建应用程序时出现“找不到任何架构”错误
- python - 在我的 m1 max 上导入 line_profiler 会导致分段错误
- android - 相关应用部分中的 Play 商店可发现性缺失
- arm - 如何确定执行是在线程模式下发生还是异常处于活动状态?(ARMv7-A 架构)
- jenkins - jenkins 安装在 k8s 上通过 helm 失败