Найти тег по идентификатору, используя Act_as_taggable_on - PullRequest
1 голос
/ 14 июня 2010

Я использую Ruby на рельсах 2.3.8 и плагин acts_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.

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

Ответы [ 2 ]

8 голосов
/ 04 января 2012
tag = ActsAsTaggableOn::Tag.find(tag_id)  
Announcement.tagged_with(tag)

Год спустя, я надеюсь, это кому-нибудь пригодится!

0 голосов
/ 29 июня 2010

acts_as_taggable имеет метод

Model.find_tagged_with @tag_name

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

...