Как включить Pgsearch в текст действия в Rails - PullRequest
0 голосов
/ 03 февраля 2019

Я добавляю pgsearch в Rails 6 Action Text и не уверен, что это лучший метод для включения pgsearch в модель RichText.Кажется, я не могу исправить модель, не сломав ее.У меня это работает, полностью заменяя модель, но, очевидно, я не хочу оставлять это так.Есть идеи, как сделать эту работу?Вот моя текущая модель:

include PgSearch

class ActionText::RichText < ActiveRecord::Base
  self.table_name = "action_text_rich_texts"

  multisearchable :against => :body

  serialize :body, ActionText::Content
  delegate :to_s, :nil?, to: :body

  belongs_to :record, polymorphic: true, touch: true
  has_many_attached :embeds

  before_save do
    self.embeds = body.attachments.map(&:attachable) if body.present?
  end

  def to_plain_text
    body&.to_plain_text.to_s
  end
  delegate :blank?, :empty?, :present?, to: :to_plain_text

end

1 Ответ

0 голосов
/ 23 июня 2019

Я решил головоломку ActionText + PgSearch с использованием related_against, не совсем то, что вы просите, но, возможно, это полезно для вашей проблемы.

class Article < ApplicationRecord
  include PgSearch

  has_rich_text :content

  pg_search_scope :search, associated_against: {
    rich_text_content: [:body]
  }
end

Всего наилучшего!

...