gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中创建用户可自定义的数据库(如 Zoho creator)?

转载 作者:太空狗 更新时间:2023-10-30 01:44:53 24 4
gpt4 key购买 nike

我正在学习 Rails,我实验的目标是实现类似于 Zoho Creator、Flexlist 或 Mytaskhelper 的东西,即用户可以在其中创建自己的数据库架构和 View 的应用程序。实现这一目标的最佳策略是什么?

我看到了一些关于 Entity-Attribute-Value (EAV) 的信息,但我不确定这是否是最佳策略,或者 Rails 是否支持它。

如果 Rails 中有任何关于类似项目的教程,那就太好了。

对于学习一门新的语言和框架来说,这可能不是最简单的 star,但这是我很久以来真正打算做的事情。

最佳答案

最好的选择是 MongoDB。它易于学习(因为查询语言是 JavaScript)并且提供无模式数据存储。我将为定义表单结构的每个表单创建一个文档。然后,每当用户提交数据时,您都可以将数据放入一个通用结构中,并根据表单名称将其存储在一个集合中。在 MongoDB 中,集合就像表,但您可以动态创建它们。您还可以动态创建索引以加快搜索速度。

您要解决的问题是 MongoDB 面向文档的数据库的主要用例之一。还有其他几个面向文档的数据库,但在我看来,MongoDB 拥有目前最好的 API。

给出 MongoDB Ruby tutorial读一读,我相信你会想试一试。

不要使用关系数据库来执行此操作。即时创建表会很痛苦,而且是一种安全隐患,不仅对您的系统如此,对用户的数据也是如此。您可以通过创建跟踪表单结构的复杂模式来避免即时创建表,并且每个字段类型都需要自己的表。 Rails 通过多态关联减轻了这种痛苦,但它绝对不是很漂亮。

关于ruby-on-rails - 如何在 Rails 中创建用户可自定义的数据库(如 Zoho creator)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2605419/

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