- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的模型有以下范围:
class Cloth < ActiveRecord::Base
include Ownerable
has_many :cloth_tags, :dependent => :destroy
pg_search_scope :full_search,
associated_against: {
cloth_tags: [:name, :brand_name]
},
against: [:name, :description],
ignoring: :accents,
using: {
tsearch: {
dictionary: "spanish",
any_word: true
}
}
因此,如果我调用类似 Cloth.full_search('shirt')
的东西,效果很好,但如果我将 owner: [:name]
添加到 associated_against
哈希,它会抛出 NameError: uninitialized constant Cloth::Owner
。不用说,正常情况下所有者关系是有效的。在任何情况下都是在这样的模块中定义的:
module Ownerable
extend ActiveSupport::Concern
included do
belongs_to :owner, :polymorphic => true
end
有什么线索吗?提前致谢
最佳答案
我是 pg_search 的作者和维护者。
不幸的是,不可能在纯 SQL 中沿此方向遍历多态关联,因此无法使用 pg_search 进行搜索。
您可以做的一件事是计算其他记录中的文本并将其缓存到 Cloth 表的列中,然后改为搜索该列。每当 Cloth 上的多态外键发生变化或 Owner 记录上的内容发生变化时,您都必须小心更新它。
希望我可以改进错误消息,使其不再那么困惑。感谢您指出这一点。
关于ruby-on-rails - 使用具有多态关联的 pg_search 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364422/
在我的应用程序中,我有许多模型,我想向其中添加多重搜索,我觉得我已经完成了所需的一切,但是在控制台中,当我运行以下命令时,我得到一个空的 []。 PgSearch.multisearch("Red")
在我的应用程序中,我有许多模型,我想向其中添加多重搜索,我觉得我已经完成了所需的一切,但是在控制台中,当我运行以下命令时,我得到一个空的 []。 PgSearch.multisearch("Red")
Ruby on Rails 新手。我正在尝试使用 pg_search gem 但遇到了一些困难(是的,我正在查看文档)。我想要一个包含文本字段和选择字段(类别)的搜索表单。这是我到目前为止的代码: c
我正在关注 this Railscasts 插曲。 如果我搜索“Kerber”,它会返回正确的文章。但是,如果我搜索“Ke”,它不会返回同一篇文章。 有办法解决这个问题吗? class Item <
我正在使用 pg-search 在模型中进行搜索。我遇到的问题是,如果我搜索一个字段或另一个字段中的关键字,它会起作用,但如果我输入我知道在我正在使用的 2 个字段中的关键字,它不会返回任何内容。 这
当尝试在文档中查找“Harrison Ford”时,pg_search 将返回任何包含“Harrison”和“Ford”的文本,例如: pg_search_scope :search_by_ful
我的“ Assets ”模型有一个搜索页面,除了搜索特定于“serial_no”字段的任何内容之外,一切正常。 Assets .rb # == Schema Information # # Table
我的模型有以下范围: class Cloth :destroy pg_search_scope :full_search, associated_against: { clo
我正在尝试在我的 Rails 应用程序中使用 pg_search gem 从一个搜索栏中搜索大量模型。 我添加了搜索栏:
我有一个使用 pg_search 的 Rails 应用程序gem 以利用 PostgreSQL 的全文搜索功能。 手册中提到搜索具有(例如)has_many 关系的模型: Searching thro
我正在尝试在我的 Rails 应用程序中实现全文搜索。我使用 PostgreSQL 作为数据库,因此,使用 PostgreSQL 的全文搜索功能。我有两个模型 Users 和 Scoreboards,
我正在使用 Rails 4.2 中的 pg_search gem 来搜索模型中的名称。我有以下内容: pg_search_scope :search_for_dashboard, lambda
我正在使用 gem pg_search在我的 postgres 数据库上执行全文搜索。我有这样的范围: pg_search_scope :fulltext, against: [:firstname,
这是我的pg_search 方法: pg_search_scope :node_search, against: [:name, :user_id, :circa, :cached_tagged_
我有一个 Node 类,我在上面设置了 acts_as_taggable,所以我可以将 user_tags 添加到任何节点。我的 Node 模型也有一个方法,可以查找 user_tag_list 中所
我在我的 Node 模型上实现了 PgSearch,如下所示: include PgSearch pg_search_scope :node_search, against: [:name, :use
有没有办法从模型而不是索引表条目中获取 pg_search 结果?我的代码有效,但我必须遍历结果。 search = PgSearch.multisearch(params[:search]) @it
我正在使用 pg_search 并尝试在标题中搜索特殊字符。 例如,我有两行包含此信息: id title 1 GT40 2 #GT40 所以当我搜索“#GT40”时,pg_se
我将 Rails 4.2.4 与 pg_search 1.0.5 一起使用。 class Advert [:title, :body] end 我想按 :created_at 对 pg_search
我正在使用这个 stackoverflow answer尝试为我的 Rails 应用程序实现 Twitter Typeahead,我还尝试实现 Github自述文件,但当我在文本框中输入内容时没有文本
我是一名优秀的程序员,十分优秀!