你好,我的逻辑有问题。在我的应用程序中,用户可以创建帖子并将它们添加到收藏夹。问题在于帖子和用户的关联。当用户创建帖子时 user_id 应用于帖子表。当其他用户或此用户将帖子添加到收藏夹时,我如何进行关联。
问问题
1959 次
2 回答
2
您需要创建另一个将加入帖子和用户的表。您可以使用 2 列调用该表收藏夹:post_id 和 user_id
class Favorite < ActiveRecord::Base
belongs_to :post
belongs_to :user
end
class User < ActiveRecord::Base
has_many :posts
has_many :favorites
has_many :favorite_posts, through: :favorites, source: :post
end
class Post < ActiveRecord::Base
belongs_to :user
has_many :favorites
has_many :favorited_by_users, through: :favorites, source: :user
end
于 2013-02-01T13:37:09.777 回答
-1
您可以创建一个新的模型/表进行关联。我会为此采取多对多的关系。
表:书签
user_id | post_id
在这里描述了如何在 rails 工作中有许多 :through 关系:
http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association
于 2013-02-01T13:39:26.110 回答