Ruby on rails Rails多态关联,一个类中有两个assoc类型
考虑一个类:Ruby on rails Rails多态关联,一个类中有两个assoc类型,ruby-on-rails,polymorphic-associations,model-associations,Ruby On Rails,Polymorphic Associations,Model Associations,考虑一个类: class Link < ActiveRecord::Base has_many :link_votes, :as => :vote_subject, :class_name => 'Vote' has_many :spam_votes, :as => :vote_subject, :class_name => 'Vote' end class链接:vote\u subject,:class\u name=>'vote' 有很多:垃圾邮件
class Link < ActiveRecord::Base
has_many :link_votes, :as => :vote_subject, :class_name => 'Vote'
has_many :spam_votes, :as => :vote_subject, :class_name => 'Vote'
end
class链接:vote\u subject,:class\u name=>'vote'
有很多:垃圾邮件投票,:as=>:投票主题,:class\u name=>“投票”
结束
问题是,当我使用
@link.link\u voces添加新投票时,听起来您想要使用单表继承-这将允许您拥有两种不同类型的投票。这将向投票表中添加一个“类型”列,然后您将以LinkVote或SpamVote的身份访问该列
class SpamVote << Vote
...
end
对STI做更多的研究,我打赌你会找到答案的
class Link < ActiveRecord::Base
has_many :link_votes, :as => :vote_subject
has_many :spam_votes, :as => :vote_subject
end
id, type, vote_subject_type, vote_subject_id, etc.