Нахождение указанного taggable_type с актами-как-тегами-на - PullRequest
0 голосов
/ 27 мая 2010

Итак, в другом контроллере я использую находку, подобную этой:

@entries = Entry.find(:all, :conditions => ['live = ?', false])

чтобы найти все записи с ложным «живым» столбцом.

В моем проекте я использую два разных типа taggable, один для записей (Entry) и один для сообщений (Message). Посмотрев на мой проверенный и верный код выше, вы подумаете, что я мог бы сделать что-то похожее, чтобы найти все помеченные сообщения со значением «Сообщение» в столбце taggable_type таблицы тегов.

#this could help find only Messages with the taggable_type column value "Message"
@tagged_messages = Message.find(:all, :conditions => ['taggable_type = Message', true])

Проблема в том, что мое условие поиска обращается к модели сообщений [Message.find (...]), которая не будет работать, потому что [из моего понимания] у таблицы тегов нет связанной модели. Я, вероятно, неправильно. Итак, как мне искать таблицу, которая не связана с моделью? Я, вероятно, что-то здесь упускаю. Я был бы очень признателен за любую помощь или код, который помог бы мне понять это или помочь заставить это работать. .

1 Ответ

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

@tagged_messages = Tagging.find_all_by_taggable_type('Message').map(&:taggable) должен делать то, что вы хотите. Возможно, вам также потребуется добавить туда uniq.

...