我正在使用act-as-taggable-on gem,可在此处找到https://github.com/mbleigh/acts-as-taggable-on。 我的app / models中没有Tag或Taggings模型,因为该功能直接来自gem。 标签创建很好,一切。但是,我希望能够在创建标记时将tags表中的user_id列分配给当前用户。类似的东西:
#pseudocode
before_save { tag.user_id = current_user.id }
我虽然第一次扩展标签模型,但我不知道在这种情况下如何做到这一点,因为标签类是在gem中定义的(我认为)。我想我的问题是如何实现before_save或after_save回调,以确保在使用acts-as-taggable-on创建标记时,tag.user_id会自动分配给current_user.id? 这是我尝试过的,但似乎没有用。我试图添加另一个标签模型(不是在gem的模块中定义的那个):
class Tag < ActsAsTaggableOn::Tag
before_create :assign_user_id
def assign_user_id
self.user_id = current_user.id
end
end
感谢您的帮助!!!
答案 0 :(得分:0)
acts-as-taggable-on提供标签所有权。来自https://github.com/mbleigh/acts-as-taggable-on的示例:
class User < ActiveRecord::Base
acts_as_tagger
end
class Photo < ActiveRecord::Base
acts_as_taggable_on :locations
end
@some_user.tag(@some_photo, :with => "paris, normandy", :on => :locations)