Индексирование объекта при сохранении отношений с использованием Sunspot не работает при развертывании, но работает локально - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь проиндексировать объект, скажем, Программист, используя солнечную точку. Программист имеет множество проектов, Проект имеет множество программистов. Они связаны через третью таблицу, Назначения. Когда задание сохранено или удалено, мне нужно проиндексировать программатор. Пример кода:

class Assignment < ActiveRecord::Base
  belongs_to :programmer  # foreign key - programmer_id
  belongs_to :project     # foreign key - project_id

  after_save :reindex_programmer
  after_destroy :reindex_programmer

  def reindex_programmer
    programmer.solr_index
  end
end

class Programmer < ActiveRecord::Base
  has_many :assignments
  has_many :projects, through: :assignments

  searchable do
    integer :project_ids, :multiple => true do
      self.projects.collect(&:id)
    end
  end
end

class Project < ActiveRecord::Base
  has_many :assignments
  has_many :programmers, through: :assignments
end

При локальном запуске кода я могу сохранять и удалять назначения, и он будет индексировать программиста, как и должно быть. Однако при развертывании в моей тестовой среде индексирование выполняется ТОЛЬКО при сохранении, а не при удалении. Я точно знаю, что он удаляет метод reindex_programmer при удалении, но программист по-прежнему не индексирует. Любой совет здесь?

...