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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在Rails中创建用户可自定义的数据库(如Zoho创建者)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习Rails,我的实验目标是实现类似于Zoho Creator,Flexlist或Mytaskhelper的东西,即用户可以创建自己的数据库模式和视图的应用程序.追求这个的最佳策略是什么?

我看到了一些关于Entity-Attribute-Value的内容,但我不确定它是否是最好的策略,或者Rails中是否有一些支持.

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

可能它不是学习新语言和框架的最简单的明星,但这是我真正计划做的事情,因为很长一段时间.

解决方法

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

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

MongoDB Ruby tutorial一个阅读,我相信你会想尝试一下.

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

猜你在找的Ruby相关文章