我是一名初级Rails开发人员,正在为朋友的业务创建一个Rails应用程序,我希望那里有人可以帮助回答我的问题!
我的朋友希望能够创建新表单以从她的客户那里收集信息。她不是程序员,想要一个简单的界面,像Google Forms一样易于使用。理想情况下,从这些表单收集的信息将存储在主数据库中,这样如果她丢失了客户端,她就不必手动删除该客户端在另一个数据库中的条目。
所以我需要提出一个解决方案:
有没有人知道这类问题的优雅解决方案?
答案 0 :(得分:0)
这是非常棘手的,当你来制作表格来形成表格时,可能会使你的头部旋转一点。令人惊讶的是(至少来自我的谷歌搜索)似乎没有解决方案,例如宝石。
您需要考虑表单可以区别的所有不同方式,然后构建一个模型来对其进行建模。像
这样的东西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对象,然后创建一个FormTemplateFields集合,以便以该形式存在。
当有人完成表单时,他们将创建一个FormEntry记录,链接到FormTemplate和一些FieldEntry记录,每个记录都将链接到FormTemplate中的一个FormTemplateField。
这不是我的头脑,但可能是思考它的一个很好的起点。