gpt4 book ai didi

ruby-on-rails - 太阳黑子:更新子模型时父模型的力指数

转载 作者:行者123 更新时间:2023-12-03 16:08:56 28 4
gpt4 key购买 nike

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

在这个应用程序中,我有2个模型,这些模型具有 parent / child 一对多的关系。使用Sunspot I,我可以索引 parent 拥有的 child 的数量,因此可用于排序,范围界定等。

但是,当我更改子模型时,父模型不会自动获得重新索引(因为它没有改变)。强制通过对子项的call_back的parent.save也不强制索引。

因此,在我开始黑客入侵之前:

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

最佳答案

我现在有同样的问题。研究了API documentation for Sunspot之后,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

关于ruby-on-rails - 太阳黑子:更新子模型时父模型的力指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402264/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com