Я пытаюсь проиндексировать объект, скажем, Программист, используя солнечную точку. Программист имеет множество проектов, Проект имеет множество программистов. Они связаны через третью таблицу, Назначения. Когда задание сохранено или удалено, мне нужно проиндексировать программатор. Пример кода:
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 при удалении, но программист по-прежнему не индексирует. Любой совет здесь?