Могу ли я использовать теги между двумя моделями?

Я пробую этот гем, но возникает ситуация, когда 2 модели должны иметь общие теги (поэтому, если одна из них создана на модели1, она должна быть доступна на модели2).

Возможно ли это или мне следует создать модель, позволяющую хранить теги для обеих моделей в одном месте?

Пример

class Hikes < ActiveRecord::Base
  # Name
  # Date
  # Hikers[*]
  # ...
  acts_as_taggable_on :event_types
end

class Events < ActiveRecord::Base
  # Name
  # Date
  # Note
  acts_as_taggable_on :event_types
end

Я хотел бы разделить "группу" тегов event_types между двумя моделями. Особенно потому, что я хотел бы создать что-то похожее на поле тега stackoverflow (так что с количеством тегов, чтобы увидеть, сколько раз оно использовалось). Очевидно, что tags_count должен быть разделен между двумя моделями.

Примечание. Поход на самом деле является событием (поэтому у них одна и та же группа тегов), которое обрабатывается приложением по-разному, поскольку мне приходится обрабатывать больше вещей.


person Francesco Belladonna    schedule 01.12.2011    source источник
comment
Звучит как хорошее требование. Не могли бы вы добавить пример того, чего вы пытаетесь достичь?   -  person lucapette    schedule 01.12.2011
comment
вы должны иметь возможность использовать одни и те же теги, но иметь две сквозные модели.   -  person Joseph Le Brech    schedule 01.12.2011
comment
@lucapette я добавил пример   -  person Francesco Belladonna    schedule 01.12.2011


Ответы (1)


Ваш вопрос очень неполный.

Предполагая, что у вас есть модели ActiveRecord для двух «моделей» и тегов, эта структура может работать:

class A < ActiveRecord::Base
  has_many :tags
end

class B < ActiveRecord::Base
  has_many :tags
end

class Tag < ActiveRecord::Base
  belongs_to :a
  belongs_to :b
end
person kikito    schedule 01.12.2011
comment
Я так и думал, я тестирую его, но я хотел бы избежать этого подхода. - person Francesco Belladonna; 01.12.2011
comment
Добавил пример по запросу, надеюсь, поможет с вашим ответом. - person Francesco Belladonna; 01.12.2011
comment
Это единственный возможный путь на данный момент. Я должен сказать, что плагин не поддерживает это так. - person Francesco Belladonna; 10.12.2011