首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多重rails关联

多重rails关联
EN

Stack Overflow用户
提问于 2013-04-12 18:52:34
回答 1查看 143关注 0票数 0

问题是:如何在Rails关联中表示多样性?假设我有两个模型- CollectionItem。他们在has_and_belongs_to_many关系中。如果一个集合包含多个相同的项实例(例如,它包含10个相同的项),我应该如何做到这一点?

我尝试了一下has_many :通过,但它似乎不是很好的方法。

EN

回答 1

Stack Overflow用户

发布于 2013-04-12 19:12:07

首先,我想澄清的是,您确实需要一个多到多的关系,而不是简单的一对多的关系,这里有重复的 DB记录来表示多重性。因为如果可以的话,您可以根据需要复制items记录多次,并将它们的collection_id外键指向适当的Collection记录。

如果这不是您想要的,而且您确实希望具有多样性,那么我就不会使用ActiveRecord关联来完成这个任务。我只需将一个数组或item_ids列表存储在Collection对象中,并将该数组序列化/反序列化为数据库中的字符串或文本字段,以便:

代码语言:javascript
复制
collection.item_ids
=> [2, 3, 1, 1, 2, 1, 2, 2, 2, 2, 5, 6, 2, 3, 2]

其中,item_ids属性中的每个条目都是items表的外键。

如果您碰巧使用Postgres作为您的DB,我认为您实际上可以将列表/数组存储为 column,尽管我自己从未尝试过在Rails中这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15978778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档