以何种方式构建用户生成的表单模板的数据

时间:2009-03-25 08:01:44

标签: ruby-on-rails xml database-design

我正在考虑一些想法,以及学习Ruby on Rails(简单eh :))。我希望允许用户生成表单作为模板,然后将这些模板作为表单分配到树层次结构中的某个位置,然后允许用户填写这些表单的实例并保存数据。

所以,关于如何构建数据,我有两种不同的想法。我目前认为模板将有一个或多个部分,一个部分将有一个或多个字段,然后该字段将具有属性(类型,颜色,位置,验证等)。

所以,这应该被描述为链表;

field belongs_to_a section belongs_to_a template

或者我应该有一个模板表,它有一个名为body的字段,可以序列化为XML或者要呈现的内容?

<template>
    <section>
        <field attrib=foo attrib2=bar><field>
    </section>
<template>

任何想法或评论都欢迎,即使我完全走错了路线......

1 个答案:

答案 0 :(得分:1)

我会选择第一个设计。如果我是用户(或开发人员),我宁愿在逻辑相关的表中输入数据而不是写XML来定义屏幕。实际上,Oracle在其非常成功的工具Application Express后面使用了与此不同的数据结构。