在我正在研究的博客系统中,我想使用标签作为决定特定帖子出现位置的机制。我正在使用acts_as_taggable_on来设置两个上下文,即normal:tags上下文,然后是:audience上下文。
我正在使用帐户模型标记帖子模型,如下所示:
account.tag(post, :with => "cat1, cat2", :on => :audience)
我遇到的问题是检索特定上下文中的所有标记。我能够得到所有标签:
account.owned_tags # => "cat1, cat2, tag1", where tag1 came from the normal tag context
但我想做的只是在上下文中获取特定标签,如下所示:
acount.owned_tags_on :audience
有什么建议吗?谢谢!
答案 0 :(得分:1)
owned_tags
是正常的ActiveRecord
关联:
has_many :owned_tags, :through => :owned_taggings, :source => :tag, :uniq => true
因此,您可以根据条件执行find
并选择所需的标签:
account.owned_tags.all(:conditions => ["context = ?", "audience"])