0

我有以下关联:

模型/tag.rb

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

模型/文章.rb

has_many :taggings
has_many :tags, through: :taggings

模型/标记.rb

belongs_to :tag
belongs_to :article

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

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

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

第三,我希望能够用相同的标签标记另一个用户的文章,这样我就可以记住我标记它的内容。

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

4

2 回答 2

1

如果你想要一个User'拥有'他们Tagging的s,那么是的,你需要一个user_idtaggings桌子上。

于 2013-10-16T15:02:53.227 回答
1

如果你把它user_id放在taggings你身上,那么你就可以访问了tagarticle所以是的,那很好。但是,如果您明确想要属于您的文章和标签,我也会添加user_id到文章中(除了user_id您目前在 a 上拥有的标签tag)。

要使用其他用户的标签,您只需调用article.tags任何文章即可查看文章具有哪些标签。

在此设置中仍然可以为其他用户的文章添加标签,因为文章有很多标签,并且对谁可以为文章添加标签没有限制,并且无论文章上的标签如何,文章仍然属于该文章其他用户。

于 2013-10-16T15:48:22.360 回答