太阳黑子:更新子模型时父模型的强制索引

Erw*_*inM 5 ruby-on-rails sunspot ruby-on-rails-3 sunspot-rails

我正在使用Sunspot生成很多我的应用程序索引和概述.

在这个应用程序中,我有2个模型,它们具有父/子一对多的关系.使用太阳黑子我索引父母拥有的孩子数量,因此可用于排序,范围等.

但是,当我更改子模型时,父模型不会自动重新编制索引(因为它没有更改).通过子节点上的call_back强制parent.save也不会强制索引.

所以在我开始乱砍之前:

当子模型被更改/添加时,在Sunspot中强制对父类执行索引操作的最佳方法是什么?

pab*_*obm 7

我现在遇到同样的问题.在查看SunspotAPI文档之后,似乎Sunspot使用一种index()强制实例重新编制索引的方法来扩展模型.

考虑到这一点,它应该只是挂钩子模型的after_save回调,在将父存储到数据库时重新索引父项:

class Parent < ActiveRecord::Base
  has_many :children
end

class Child < ActiveRecord::Base
  belongs_to :parent
  after_save :reindex_parent!

  def reindex_parent!
    parent.index
  end
end
Run Code Online (Sandbox Code Playgroud)