我有事件、文档和调查,它们都需要能够相互链接,我计划有一个包含四列的链接表,如下所示:
link_elements{
element1_type CHAR(1)
element1_id INTEGER
element2_type CHAR(1)
element2_id INTEGER
}
问题是我不知道如何在 RoR 中制作模型,以便我可以使用元素类型字段来识别相应元素 ID 属于哪个表(文档、事件或调查)。我对 Ruby 真的很陌生,任何帮助都将不胜感激。
我有事件、文档和调查,它们都需要能够相互链接,我计划有一个包含四列的链接表,如下所示:
link_elements{
element1_type CHAR(1)
element1_id INTEGER
element2_type CHAR(1)
element2_id INTEGER
}
问题是我不知道如何在 RoR 中制作模型,以便我可以使用元素类型字段来识别相应元素 ID 属于哪个表(文档、事件或调查)。我对 Ruby 真的很陌生,任何帮助都将不胜感激。
我认为您只是在寻找has_many
andbelongs_to
关联。
如果您有一个 Event 模型、一个 Document 模型和一个 Survey 模型,那么您可以在 Models 文件夹中它们各自的 .rb 文件中指定它们是否拥有或属于其他模型。
例如:您希望调查属于文档。在 Survey.rb 中,添加行belongs_to :document
。在 Document.rb 中,添加行has_many :surveys
.
现在,如果您在 Surveys 表中添加一个新的“document_id”列,它将查找与该列中的 id 整数对应的 Document 对象。
有关更多信息,请查看Rails API。