【问题标题】:Set "acts-as-taggable-on" Taggings association to touch Taggable on save?设置“acts-as-taggable-on”标记关联以在保存时触摸可标记?
【发布时间】:2015-09-17 06:21:36
【问题描述】:

我目前正在使用acts-as-taggable-on gem 为我的 Pieces 模型添加标签。

我正在使用 elasticsearch 将标签的索引添加到 Pieces。

但是在创建标记时更新索引我需要建立关联

belongs_to :taggable, touch: true

在标记模型中。

Here是到acts-as-taggable-on中的标记模型的链接

如何将 touch: true 关联添加到标记模型,以便在为该片段创建标记时更新我的​​片段索引?

【问题讨论】:

    标签: ruby-on-rails elasticsearch tags acts-as-taggable-on


    【解决方案1】:

    好的,我想通了。

    有两个步骤。首先,您必须在标记模型中设置belongs_to 关联以包含“touch: true”选项。这可以在acts_as_taggable.rb 初始化器中完成,如下所示:

    ActsAsTaggableOn::Tagging.belongs_to :taggable, polymorphic: true, touch: true
    

    接下来我们需要告诉 elasticsearch 在每次触摸 Piece 时重新索引 Piece 索引。这可以通过向 Piece 模型添加以下回调来完成:

    after_touch() { __elasticsearch__.index_document }
    

    【讨论】:

      猜你喜欢
      • 2011-04-08
      • 2023-03-30
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多