模型用户有很多帖子,可以创建帖子

时间:2013-02-01 13:30:45

标签: ruby-on-rails models

您好我的逻辑有问题。在我的应用中,用户可以创建帖子并将其添加到收藏夹。问题在于对帖子和用户的褒奖。当用户创建Post时,user_id应用于posts表。当其他用户或此用户将帖子添加到收藏夹时,如何建立关联。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-1)

您可以为关联创建新模型/表。我会采取多种关系。

表:书签

user_id | post_id

如何有多少:通过铁路工作中的关系在这里描述:

http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association