Теги Rails с использованием Acts_As_Taggable_On: поиск всех тегов в контексте - PullRequest
1 голос
/ 04 мая 2010

В системе блога, над которой я работаю, я хочу использовать теги в качестве механизма для определения того, где появляется конкретный пост.Я использую act_as_taggable_on, чтобы установить два контекста, нормальный контекст: теги и затем контекст: аудитории.

Я использую модель аккаунта, чтобы пометить модель поста следующим образом:

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

Какие-либо предложения?Спасибо!

1 Ответ

1 голос
/ 05 мая 2010

owned_tags нормально ActiveRecord ассоциация:

has_many :owned_tags, :through => :owned_taggings, :source => :tag, :uniq => true

Таким образом, вы можете выполнить find с условиями и выбрать нужные теги:

account.owned_tags.all(:conditions => ["context = ?", "audience"])
...