0

我的应用程序中有以下模型..

class User < ActiveRecord::Base
  has_many :posts
end

class Post < ActiveRecord::Base
  belongs_to :user
end

我的要求是用户可以订阅许多帖子并且我想使用has_many :through关系,因为我想subscription_type在加入表中有一个额外的属性。用户与帖子有多对多的关系。

请告诉我最好的方法来做到这一点。

4

1 回答 1

2

非常简单:

class User < ActiveRecord::Base
  has_many :subscriptions
  has_many :posts, :trough => :subscriptions
end

class Subscription< ActiveRecord::Base
  belongs_to :user
  belongs_to :post

  # add subscription_type to db columns
  # also user_id and post_id
end

class Post < ActiveRecord::Base
  has_many :subscriptions
  has_many :users, :trough => :subscriptions
end
于 2013-02-16T15:27:41.157 回答