我有以下关联:
模型/ 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
?还有什么我需要做的?这是吗?
答案 0 :(得分:1)
如果您希望User
“拥有”他们的Tagging
,那么是的,您需要user_id
表上的taggings
。
答案 1 :(得分:1)
如果您将user_id
放在taggings
上,则您可以访问tag
和article
,所以是的,这很好。但是,如果您明确需要属于您的文章和标签,我也会将user_id
添加到文章中(除了user_id
上目前的tag
)。
要使用其他用户的代码,您只需在任何文章上调用article.tags
即可查看该文章的标签。
要将标签添加到其他用户的文章仍然可以在此设置中使用,因为该文章包含许多标签,并且对于谁可以向文章添加标签没有任何限制,并且无论文章上的标签如何,文章仍然会属于那个其他用户。