设置 "acts-as-taggable-on" 标记关联以在保存时触摸可标记?
Set "acts-as-taggable-on" Taggings association to touch Taggable on save?
我目前正在使用 acts-as-taggable-on gem 向我的 Pieces 模型添加标签。
我正在使用 elasticsearch 将标签索引添加到 Pieces。
但是要在创建标签时更新索引,我需要建立关联
belongs_to :taggable, touch: true
在标记模型中。
Here 是 acts-as-taggable-on
中标记模型的 link
如何将 touch: true 关联添加到 Taggings 模型,以便在我为那件作品创建标签时更新我的 Piece 索引?
好的,我明白了。
这有两个步骤。首先,您必须在标记模型中设置 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 }
我目前正在使用 acts-as-taggable-on gem 向我的 Pieces 模型添加标签。
我正在使用 elasticsearch 将标签索引添加到 Pieces。
但是要在创建标签时更新索引,我需要建立关联
belongs_to :taggable, touch: true
在标记模型中。
Here 是 acts-as-taggable-on
中标记模型的 link如何将 touch: true 关联添加到 Taggings 模型,以便在我为那件作品创建标签时更新我的 Piece 索引?
好的,我明白了。
这有两个步骤。首先,您必须在标记模型中设置 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 }