作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
给定以下 ActiveRecord 中的表:
我不知道如何表达作者根据出版物获得不同的报酬,但为同一出版物工作的作者有不同的费率:
等等
我想描述什么样的关系?
目前我有一个包含作者_id、站点
_id 和数量列的“费率”表。给定 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
关于ruby - 我不明白如何表达三个单独表之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/522815/
我是一名优秀的程序员,十分优秀!