Algolia基于Rails关联的搜索标签,如何在创建/销毁关联时更新标签?

诺亚

我有一个带有几个模型的简单的algolia设置,每个模型都有一些属性,例如:

class User < ActiveRecord::Base
  include AlgoliaSearch

  algoliasearch do
    attributes :id, :name

    add_attribute :_tags    
  end

  def _tags
    users = []

    self.connections.each do |connection|
      users.push('user_' + connection.user_id.to_s)      
    end

    users
  end
end

上面的设置很容易让我限制每个用户的搜索结果,以便用户仅查看他们有权查看的记录,以查看它们是否在Rails应用程序中关联/相关。

但是,在Connection创建或销毁User模型时,该模型不知道,因此会对搜索结果产生负面影响。

如何在Connection模型中添加ActiveRecord回调并相应地更新_tags记录上键,以便将其_tags更新为包含或排除(基于创建或销毁)?

tldr:_tags在Algolia中的记录上具有['user_1', 'user_2']由Rails中的关联确定的值Algolia中的记录与user_2Rails中的数据库之间的关联已删除,如何user_2从Algolia中的记录上的标签数组中删除?

氧化还原

GitHub上有一个尚待解决的问题:检测基础关联中的更改。

同时,您可以在User对象的after_save回调中强制对象的索引编制Connection

class User
  algoliasearch do 
  # [...]
  end
end


class Connection
  after_save :reindex_user
  belongs_to :user

  private
  def reindex_user
   self.user.reindex!
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Rails中创建付款时如何更新关联的发票?

来自分类Dev

如何使用ActiveRecord查询基于关联标签查找记录

来自分类Dev

基于关联Rails4的搜索查询

来自分类Dev

基于关联Rails4的搜索查询

来自分类Dev

以编程方式创建与点击按钮关联的标签

来自分类Dev

如何将标签与单选按钮关联?

来自分类Dev

如何计算完整关联映射缓存的标签?

来自分类Dev

更新关联记录时销毁 has_many 关系变空

来自分类Dev

如何在创建时验证关联对象的数量?

来自分类Dev

如何在移动时创建标签列表?

来自分类Dev

嵌套嵌套的地形,用于基于标签的路由关联

来自分类Dev

如何从vb.net中与其关联的动态创建按钮的单击中调用动态创建的标签

来自分类Dev

如何搜索Rails中的关联4

来自分类Dev

Rails 4在保存时创建关联对象

来自分类Dev

如何在Rails中使用ActiveRecord查询关联的关联?

来自分类Dev

当关联的对象被销毁时,如何将belongs_to关联设置为Nil

来自分类Dev

Rails ActiveRecord不会在创建时保存关联,但会在更新时保存

来自分类Dev

从标签python列表创建关联矩阵的快速方法?

来自分类Dev

如何在图上以相同的顺序关联聚类标签和树状图

来自分类Dev

删除与类关联的HTML标签

来自分类Dev

控件必须与文本标签关联

来自分类Dev

获取关联数组的标签

来自分类Dev

将标签关联到Tkinter框架背景时消失

来自分类Dev

当chartJS中关联值为null时跳过标签

来自分类Dev

提交带有关联标签的资源时的宁静

来自分类Dev

如何在使用 Java API 在 Algolia 索引中保存对象时添加标签

来自分类Dev

从Rails控制台销毁关联对象

来自分类Dev

如何在Sequelize迁移中创建关联?

来自分类Dev

如何基于“水线”关联中的字段搜索记录?

Related 相关文章

  1. 1

    在Rails中创建付款时如何更新关联的发票?

  2. 2

    如何使用ActiveRecord查询基于关联标签查找记录

  3. 3

    基于关联Rails4的搜索查询

  4. 4

    基于关联Rails4的搜索查询

  5. 5

    以编程方式创建与点击按钮关联的标签

  6. 6

    如何将标签与单选按钮关联?

  7. 7

    如何计算完整关联映射缓存的标签?

  8. 8

    更新关联记录时销毁 has_many 关系变空

  9. 9

    如何在创建时验证关联对象的数量?

  10. 10

    如何在移动时创建标签列表?

  11. 11

    嵌套嵌套的地形,用于基于标签的路由关联

  12. 12

    如何从vb.net中与其关联的动态创建按钮的单击中调用动态创建的标签

  13. 13

    如何搜索Rails中的关联4

  14. 14

    Rails 4在保存时创建关联对象

  15. 15

    如何在Rails中使用ActiveRecord查询关联的关联?

  16. 16

    当关联的对象被销毁时,如何将belongs_to关联设置为Nil

  17. 17

    Rails ActiveRecord不会在创建时保存关联,但会在更新时保存

  18. 18

    从标签python列表创建关联矩阵的快速方法?

  19. 19

    如何在图上以相同的顺序关联聚类标签和树状图

  20. 20

    删除与类关联的HTML标签

  21. 21

    控件必须与文本标签关联

  22. 22

    获取关联数组的标签

  23. 23

    将标签关联到Tkinter框架背景时消失

  24. 24

    当chartJS中关联值为null时跳过标签

  25. 25

    提交带有关联标签的资源时的宁静

  26. 26

    如何在使用 Java API 在 Algolia 索引中保存对象时添加标签

  27. 27

    从Rails控制台销毁关联对象

  28. 28

    如何在Sequelize迁移中创建关联?

  29. 29

    如何基于“水线”关联中的字段搜索记录?

热门标签

归档