2010-06-14 4 views
1

Я использую Ruby on rails 2.3.8 и act_as_taggable_on плагин. Этот плагин генерирует три таблицы: теги (которые имеют идентификатор и имя каждого тега) и теги (связывают теги теги, которые помечены тегами).Найти тег по id using actions_as_taggable_on

Теперь я хотел бы получить все теги с тегами tag_id. Итак, я иду в Объявление модели (анонсы являются маркированные элементы), и я хотел бы написать что-то вроде этого:

def find_by_category(tag_id) 
    Announcement.tagged_with(tag_id) #this doesn't exist. 
end 

Но единственный метод, который я нашел на самом деле было так:

Announcement.tagged_with(tag_NAME) #this works, but I don't want to find by a name. 

Кто-нибудь знает способ достижения этого или, по крайней мере, как изменить код плагина, чтобы сделать это?

ответ

0

acts_as_taggable имеет метод

Model.find_tagged_with @tag_name 

Это работает для меня в нескольких проектах.

Method docs

+2

Он сказал, что хочет найти по id, а не по имени. –

7
tag = ActsAsTaggableOn::Tag.find(tag_id) 
Announcement.tagged_with(tag) 

Через год, я надеюсь, что это полезно для кого-то!

Смежные вопросы