微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/ruby/270020.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐