Можно ли установить связь между моделью ActiveRecord и моделью плагина? - PullRequest
0 голосов
/ 19 июня 2010

Я использую ruby ​​на рельсах 2.3.8, и я установил плагин act_as_taggable_on для маркировки объявлений, и все было хорошо, пока я не обнаружил, что у меня не было простого и аккуратного способа пометить все объявления тегами с определенным идентификатором единственный метод, который я нашел, был Tag.tagged_with (tag_name)).

Итак, я просто хотел связать модель тегов плагина с созданной мной моделью тегов (ActiveRecord), представляющей таблицу тегов, которая включена в плагин.

Возможно ли это сделать?

1 Ответ

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

Это должно быть возможно, если они обе модели ActiveRecord.

Чтобы определить отношения в модели плагина, вам нужно выполнить метапрограммирование где-нибудь в библиотеке. Вы можете вставить его в конец файла environment.rb, чтобы поэкспериментировать.

ModelName.class_eval do
  has_many :announcements
end

Это, в частности, может работать, а может и не работать, но это основная идея.

Если метапрограммирование оказывается слишком сложным, вы всегда можете просто сделать это (делая предположения о схеме здесь, я не использовал AAT в течение нескольких лет):

Taggings.find_by_tag_id_and_user_id (@ tag.id, @ user.id,: include =>: user) .map {| t | t.user)}

...