1

如果我有一些字段的表 A,即:

id
name
release_date

我有表 B,其中包含两个表 A 实体,即

id
from
to

(from 和 to 是表 A 中的 id)

如何在模型中连接这两个实体,以便我可以使用点运算符从 A 访问 B?

关于设计

从表 A 记录中创建了另一条记录 A,因此我想跟踪哪个记录是从哪个记录创建的。

所以这就是表 B 存在的原因,所以我知道哪个 A 是由哪个 A 制成的

4

3 回答 3

2

您可以使用has_and_belongs_to_many关系。在rails guide中有更多关于它的信息,您也可以在其中检查所需的迁移。

于 2013-07-16T08:47:07.327 回答
1

尝试

在 B 类

has_many :froms, :foreign_key => "from" , :class_name=>"A"
has_many :tos, :foreign_key => "to" , :class_name=>"A" 
于 2013-07-16T08:45:58.947 回答
0

尝试使用多对多关系使用through以下链接,它将清除您对关系的所有疑问

http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

于 2013-07-16T08:56:24.943 回答