gpt4 book ai didi

mysql - 创建一个可以动态创建新表单/数据库表的 Rails 应用程序?

转载 作者:行者123 更新时间:2023-11-29 23:51:09 24 4
gpt4 key购买 nike

我是一名初级 Rails 开发人员,正在为 friend 的企业创建 Rails 应用程序,我希望有人可以帮助回答我的问题!

我的 friend 希望能够创建新的表单来从她的客户那里收集信息。她不是程序员,想要一个简单的界面,像 Google Forms 这样易于使用的东西。理想情况下,从这些表单收集的信息将存储在主数据库中,这样如果她失去了某个客户,她就不必手动删除另一个数据库中该客户的条目。

所以我需要想出一个解决方案:

  • 不强制她接触代码。
  • 与主数据库同步,以便在客户端断开时自动删除/取消表单条目。

有人知道解决此类问题的优雅解决方案吗?

最佳答案

这非常棘手,例如当您要制作用于构建表单的表单时,很容易让您头晕。令人惊讶的是(至少从我的谷歌搜索来看)似乎已经没有解决方案,例如 gem 。

您需要考虑表单可能存在的所有不同方式,然后构建一个架构来对其进行建模。类似的东西

User
has_many :form_templates

FormTemplate
#columns: user_id
belongs_to :user
has_many :form_template_fields, :order => "position"

FormTemplateField
#columns: form_template_id, position, name, field_type

FormEntry
#columns form_template_id, user_id
belongs_to :form_template
belongs_to :user


FieldEntry
#columns: form_template_field_id, form_entry_id, data
belongs_to :form_entry
belongs_to :form_template_field

现在,当有人构建表单时,他们会创建一个 FormTemplate 对象,然后创建一个 FormTemplateField 集合以放置在该表单中。

当有人填写表单时,他们将创建一个 FormEntry 记录,链接到 FormTemplate 和一些 FieldEntry 记录,每个记录都将链接到该 FormTemplate 中的一个 FormTemplateField。

这超出了我的想象,但可能是思考它的一个很好的起点。

关于mysql - 创建一个可以动态创建新表单/数据库表的 Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25649081/

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