我有三个模型,interaction
,contact
和company
。 company
has_many contacts
和interaction
has_one contact
,contact
可以属于一个company
,但可以属于许多互动。我怎样才能在rails中表示?
contact
有company_id
而interaction
有contact_id
是有意义的,但是你不能调用interaction.contact
,因为rails将其视为
SELECT "contacts".* FROM "contacts" WHERE "contacts"."interaction_id" = $1 LIMIT 1
其中$1
是我contact_id
interaction
中的SELECT "contacts".* FROM "contacts" WHERE "contacts"."id" = $1 LIMIT 1
,它没有做我想做的事,这就像
private String getFullPath(BoxFile.Info info)
{
List<BoxFolder> filePathList = info.getPathCollection();
StringBuffer fullPathStringBuffer = new StringBuffer("");
for (BoxFolder pf : filePathList)
{
fullPathStringBuffer.append("/").append(pf.getInfo().getName());
}
System.out.println(fullPathStringBuffer.toString());
return fullPathStringBuffer.toString();
}
答案 0 :(得分:1)
这种安排符合您的使用案例:
class Company
has_many :contacts
end
class Contact
belongs_to :company
has_many :interactions
end
class Interaction
belongs_to :contact
end
您还可以浏览bi-directional associations,但这更像是一个高级主题。