首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为不同的请求建模不同类型的表单

如何为不同的请求建模不同类型的表单
EN

Stack Overflow用户
提问于 2014-03-17 12:10:38
回答 1查看 126关注 0票数 0

我很难找到适用于我的情况的信息。我在试着建立一个请求系统。用户可以提交请求,每个请求都有不同的字段集。请求将分为一种类型和一种子类型。每个请求类型都有一组特定于该类型的字段。另一组字段将特定于请求的子类型。下面是一个示例:

  • 请求
    • 许可证(请求类型)
      • 许可证通用字段(请求类型=许可证)
        • 许可证1
        • 许可证2
        • 许可证3
        • 管道(许可证子类型)
          • 水管1
          • 水管2
          • 管道3

代码语言:javascript
运行
复制
        - Electrical (Permit Sub Type) 
            - Electrical 1
            - Electrical 2
            - Electrical 3
代码语言:javascript
运行
复制
- Inspection (Request Type) 
    - Inspection General Fields (Request Type = Inspection) 
        - Inspection 1
        - Inspection 2
        - Inspection 3
        - Building (Inspection Sub Type) 
            - Building 1
            - Building 2
            - Building 3
代码语言:javascript
运行
复制
        - Occupancy (Inspection Sub Type) 
            - Occupancy 1
            - Occupancy 2
            - Occupancy 3

此外,当用户登录时,他们应该能够在列表中查看他们的所有请求。我认为这排除了多态性

到目前为止,我已经考虑了以下几点

STI

根据我所读到的,如果只有少数几个字段重叠,我就不应该使用STI,这里就是这种情况。调查问卷将根据请求类型而有很大差异。

多态

我不认为我正在寻找一个请求模型属于不同类型的问卷模型或一个问卷模型属于不同的请求模型。如果我的理解是正确的,我将无法显示列表中的所有请求类型。

每个请求类型都是它自己的模型

这样做似乎不太实际,而且当用户希望看到他们的所有请求时,我会如何合并他们呢?EmploymentRequest,InspectionRequest

STI /Hstore

我已经扩展了我的代码来尝试这个。这似乎是个不错的选择,但有一件事关系到我。如果我知道对于特定的请求类型,我将始终拥有相同的常规字段集,似乎我应该使用表中定义的列来存储这些常规字段。但是,如果我为每个请求类型在表中定义了字段,那么每条记录都会有很多空列,这不是一个好的STI。

你对STI /Hstore有什么看法?我看过我所有的可能性了吗?任何帮助都将不胜感激。提前感谢您的时间和反馈。

EN

回答 1

Stack Overflow用户

发布于 2014-03-17 13:12:19

我正在做类似的事情。我发觉验船商的宝石目前并不是最新的,也有一段时间没有保养。

我的解决方案是:用户创建新实例(请求)--一个问卷属于一个实例,有许多问题答案属于一个实例和一个问题

通过这种方式,用户可以接受任意数量的问卷,并且可以针对特定的请求类别编写具体的问卷。

实现不同类型子项的一个很好的方法是使用嵌套表单。看看蚕茧宝石,作为一种快速的方式进入这个:https://github.com/nathanvda/cocoon。在这个问题上也有铁路广播,但已经过时了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22453938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档