rocket_tag
我有一个使用gem有标签的发布模型
class Posting < ActiveRecord::Base
attr_taggable :tags
def tag_list
self.tags.join(",")
end
def tag_list=(new_tags)
attribute_will_change!(:tag_list)
# split into array (comma and any spaces), ignore empties
self.tags = new_tags.split(/,[\s]*/).reject(&:empty?)
end
它在我的开发环境中似乎工作正常,但是当我FactoryGirl
用来生成测试帖子时,它似乎没有将标签添加到搜索索引中,所以我假设这些标签在发布后被保存,所以当搜索索引更新时它没有看到任何已保存的标签,因此无法使用tire
.
我假设这意味着我需要向模型添加一个after_save
回调来rocket_tag
Tag
调用touch()
发布模型,但我不确定如何从 gem 扩展模型以向它添加这个额外的回调和方法.....除非有什么从上面可能有错。
FactoryGirl.define do
factory :posting do
sequence(:name) { |m| "Posting #{m} name" }
tag_list "tag,another,third"
user
end
end