我应该为同一类型的关系制作不同的连接表吗?

时间:2010-10-29 16:13:50

标签: ruby-on-rails models polymorphic-associations

我的帖子可以通过多态关联投票。现在我也在发表评论。我可以为我的评论分享相同的模型和逻辑吗?或者我是否必须建立新的模型关系?

#post.rb
has_many                      :votes, :as => :votable                          
has_many                      :voting_users,                                   
                              :through => :votes,                              
                              :source => :user 
#vote.rb
belongs_to :votable, :polymorphic => true

1 个答案:

答案 0 :(得分:3)

是的,您应该可以从帖子模型中复制两个has_many关系,并将它们放在comment.rb中而不会出现问题。由于您的投票模型是多态的,只要votable_id:integer表中有votable_type:stringvotes,所有内容都应该正常运行。