ruby – 我不明白如何表达三个独立的表之间的关系
发布时间:2020-12-17 01:23:46 所属栏目:百科 来源:网络整理
导读:给出ActiveRecord中的以下表格: 作者 网站 文章 我不知道如何表达作者根据出版物支付的金额不同,但为同一出版物工作的作者有不同的费率: John以300美元的价格在Foo上发表了一篇文章 John以350美元的价格在Bar发表文章 John以400美元的价格在Baz发表了一篇
给出ActiveRecord中的以下表格:
>作者 我不知道如何表达作者根据出版物支付的金额不同,但为同一出版物工作的作者有不同的费率: > John以300美元的价格在Foo上发表了一篇文章 等等 我想描述什么样的关系? 目前我有一个带有author_id,site_id和amount列的“费率”表.鉴于publication.id和author.id,我得出了文章的成本 cost = Rate.find(:first,:conditions => ["author_id = ? and site_id = ?",author.id,site.id]).rate 这是有效的,但我不确定这是最好的方式,而且我不确定如何确保我最终没有’John’为’Baz’提供两种费率. 我认为我不想要代码,因为我希望有人说“噢,这是……关系”,所以我可以抓住我正在琢磨的东西. 解决方法
它是一个拥有并且属于许多具有丰富连接表的人.
class Author has_many :publications,:through => :rates end class Publication has_many :authors,:through => :rates end class Rate #rich join table belongs_to :author belongs_to :publication end 然后你可以简化你的发现: @author.rates.find_by_site_id(123) 此外,您可以通过联接表直接访问 @author.publications @publication.authors (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |