我应该在标签上放置用户ID吗?

时间:2013-10-16 14:33:47

标签: ruby-on-rails ruby-on-rails-4

我有以下关联:

模型/ tag.rb

belongs_to :user
has_many :taggings
has_many :articles, through: :taggings

模型/ article.rb

has_many :taggings
has_many :tags, through: :taggings

模型/ taggings.rb

belongs_to :tag
belongs_to :article

在我的应用程序中,我想用标签做三件事:

首先,我希望能够创建一篇文章并创建属于我的新标签。

其次,我希望能够使用他们在文章中添加的其他用户标签。

第三,我希望能够使用相同的标签标记其他用户的文章,以便记住我将其标记为的内容。

为了达到这一点,我是否必须在USER ID模型上添加Tagging?还有什么我需要做的?这是吗?

2 个答案:

答案 0 :(得分:1)

如果您希望User“拥有”他们的Tagging,那么是的,您需要user_id表上的taggings

答案 1 :(得分:1)

如果您将user_id放在taggings上,则您可以访问tagarticle,所以是的,这很好。但是,如果您明确需要属于您的文章和标签,我也会将user_id添加到文章中(除了user_id上目前的tag)。

要使用其他用户的代码,您只需在任何文章上调用article.tags即可查看该文章的标签。

要将标签添加到其他用户的文章仍然可以在此设置中使用,因为该文章包含许多标签,并且对于谁可以向文章添加标签没有任何限制,并且无论文章上的标签如何,文章仍然会属于那个其他用户。