gpt4 book ai didi

ruby-on-rails - 动态创建新的 Active Record 模型和数据库表

转载 作者:数据小太阳 更新时间:2023-10-29 07:17:13 24 4
gpt4 key购买 nike

我不确定我应该给这个问题起什么名字。我刚开始服务器端编程,需要一些帮助。

到目前为止,我阅读的所有关于 RoR 的教程都涉及创建预定义 表和预定义 字段(id、姓名、电子邮件等) ).他们使用 ActiveRecord 作为基类,保存到数据库由父类(super class)自动处理。

我正在尝试编程的是允许带有字段的用户定义表。于是想到了这个办法。 Web UI 将有一个空表,用户将命名该表,并添加列(字段),然后添加行,然后保存。我将如何实现?我不要求详细信息,只是对它的概述。正如我所说,到目前为止,我阅读的所有教程都涉及预定义表,其中包含预定义 ActiveRecord 子类的字段。

简而言之,我想问的是,如何在 运行时 中的数据库中创建表,并向表中添加字段。

希望我说清楚了,如果不清楚,请告诉我,我会尝试详细说明。谢谢。

最佳答案

除非您正在构建一个数据库管理工具(甚至可能在那时),否则允许用户以您建议的方式直接访问数据库层可能是一个坏主意。除了稳定性和安全性问题,如果您的用户创建大量表,它会变得非常慢。

例如,如果您想在 100 个用户的表中搜索某个值,则必须运行 100 个单独的查询。创建的用户表越多,站点的速度就会呈指数级下降。

一个更明智的方法可能是有一个像这样的表模型

class Table < ActiveRecord::Base
has_many :fields
has_many :rows
end

每个表都会有附加的字段,以及存储相应数据的行(这些数据会以某种方式编码)。

但是,正如@Aditya 正确指出的那样,这并不是真正的初学者内容!

关于ruby-on-rails - 动态创建新的 Active Record 模型和数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8102702/

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