加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 太阳黑子:更新子模型时强制父模型的索引

发布时间:2020-12-17 03:27:40 所属栏目:百科 来源:网络整理
导读:我正在使用Sunspot生成很多我的应用程序索引和概述. 在这个应用程序中,我有2个模型,它们具有父/子一对多的关系.使用太阳黑子我索引父母拥有的孩子数量,因此可用于排序,范围等. 但是,当我更改子模型时,父模型不会自动重新编制索引(因为它没有更改).通过子节点
我正在使用Sunspot生成很多我的应用程序索引和概述.

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

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

所以在我开始乱砍之前:

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

解决方法

我现在遇到同样的问题.在查看 API documentation for Sunspot后,似乎Sunspot使用方法索引()扩展模型,该方法强制重新索引实例.

考虑到这一点,它应该只是挂钩子模型的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读