我在rails 2.3.8上使用ruby,并且我已经安装了acts_as_taggable_on插件来标记公告,一切都很好,直到我发现我没有简单而干净的方式来获取标记有特定ID的所有公告(我找到的唯一方法是Tag.tagged_with(tag_name))。
所以,我只是想将插件的Tag模型与我创建的标记模型(ActiveRecord)相关联,表示插件中包含的标记表。
有可能吗?
答案 0 :(得分:0)
如果它们都是ActiveRecord模型,应该是可能的。
要在插件模型中定义关系,您必须在库中的某处进行一些元编程。您可以先将它粘贴在environment.rb文件的末尾,然后再进行实验。
ModelName.class_eval do
has_many :announcements
end
特别是可能会或可能不会起作用,但这是基本想法。
如果元编程被证明过于复杂,你可以随时做(在这里做出关于模式的假设,我在几年内没有使用过AAT):
Taggings.find_by_tag_id_and_user_id(@ tag.id,@ user.id,:include =>:user).map {| t | t.user)}