我的应用程序中有以下模块..
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user
end
我的要求是用户可以订阅很多帖子,我想使用has_many :through
关系,因为我希望在连接表中有一个额外的属性subscription_type
。
用户与帖子有很多关系。
请告诉我最好的方法。
答案 0 :(得分: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