私はacts-as-taggableを使用しています。2 つのモデル: ユーザーと投稿。
Posts belongs_to :user
User has_many :posts
投稿はタグ付け可能として機能します。ユーザーがタガーとして機能
これらはすべて簡単で、機能しています。ただし、このプラグインの動作とは異なるユースケースがあります。
投稿に複数のユーザーがタグ付けできるようにしたい。ユーザーからの投稿にタグが作成された場合、次の操作を行うと表示されません。
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']
これは機能します。
問題は、別のユーザーが一緒に来て、投稿にタグを追加できるようにすることです。たぶん、このユーザーはそれが役立つと思うでしょう。そうすることが理にかなっていると仮定しましょう。司会者になることができます...何でも。
上記の場合、複数のユーザーがタグを追加したと仮定して、特定の投稿のすべてのタグのリストを取得するにはどうすればよいでしょうか?
ありがたいことに、
ニュージャージー州