gpt4 book ai didi

ruby-on-rails - 用于在 rails 中存储 list 的模型设置

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:49 27 4
gpt4 key购买 nike

我很难确定在 Rails 中存储 list 的最佳方法。

在我的申请中,有一些账户有很多文件。我想为每个文档添加一个 list ,以便可以通过帐户配置 list 项目。 所有文档都将具有相同的 list (由帐户配置),但每个项目的选中/未选中值可能不同。

设置看起来像这样:

Account
Document1
ChecklistForDocument1
ChecklistItem1 - isCheckedForDocument1
ChecklistItem2 - isCheckedForDocument1
ChecklistItem3 - isCheckedForDocument1

Document2
ChecklistForDocument2
ChecklistItem1 - isCheckedForDocument2
ChecklistItem2 - isCheckedForDocument2
ChecklistItem3 - isCheckedForDocument2

只是想知道如何设置模型/迁移来存储这些类型的 list 。

我已经查看了其他几个问题,例如 Database Design for Storing Checklists and ResultsWhat would be a good approach for storing the results of a checklist in Rails?但他们每个人都与我的情况略有不同,这真的让我失望。

最佳答案

这样做,创建一个包含 document_id 和 check_list_item_id 的连接表

DocumentCheckListItem
belongs_to :document
belongs_to :check_list_item

然后改变你现有的模型

Document
has_many :document_check_list_items
has_many :check_list_items, :through => :document_check_list_items


CheckListItem
has_many :document_check_list_items
has_many :documents, :through => :document_check_list_items

然后,您需要做的就是在您的代码中引用 document.check_list_items

在文档上设置 check_list_items 是通过向此方法发送一个 id 数组来完成的

document.check_list_item_ids = [1,2,3,4,5]

这将设置值并连接关系。

关于ruby-on-rails - 用于在 rails 中存储 list 的模型设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40433046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com