Я использую действия как теги на.Две модели: пользователь и сообщения.
Posts belongs_to :user
User has_many :posts
Сообщения действуют как теги.Пользователи действуют как tagger
Все это просто и работает.Тем не менее, у меня есть сценарий использования, который может быть за пределами того, как работает этот плагин.
Я хочу, чтобы сообщения могли быть помечены несколькими пользователями.Когда тег создается в сообщении от пользователя, он не отображается, когда вы делаете следующее:
p = Post.first
p.tag_list # this returns []
Если вы посмотрите на генерируемый SQL, он выберет записи, где «tagger_id» равен NULL.Tagger_id - это, конечно, user_id в этом случае и очень не NULL.
Однако, если вы вернетесь к нему, вы можете получить то, что хотите.
p = Post.find(1) # get a post to work with
p.tags_from(p.user) # returns an array of the tags: ['cats','dogs','wildebeasts']
Thisработает.
Теперь проблема в том, что я хочу, чтобы другой пользователь мог прийти и добавить тег к сообщению.Может быть, этот пользователь подумает, что это полезно.Давайте просто предположим, что имеет смысл сделать это.Может быть модератором ... что угодно.
Учитывая вышесказанное, как я могу получить список всех тегов в данном сообщении, предполагая, что несколько пользователей добавили теги?
С благодарностью,
NJ