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使得多态关联减少了痛苦,但它绝对不是很好.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...