首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拆分rails模型与为组合表单使用一个模型的对比

拆分rails模型与为组合表单使用一个模型的对比
EN

Stack Overflow用户
提问于 2013-11-15 04:41:44
回答 2查看 97关注 0票数 0

我正在开发一个应用程序,该应用程序允许来自公司不同部门的各种人员登录并编辑表单。每个部门在表单中都有特定的字段,只有他们才能编辑和查看。

如果我为整个字段集创建一个模型,并根据谁登录,呈现一个包含必要字段的不同表单,是否会使代码更有条理?或者,将特定于部门的字段拆分为各自的模型,然后根据登录人员呈现包含特定字段的表单,并通过某种类型的外键将来自不同部门的记录关联在一起,这样会更好吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-15 05:22:54

“视情况而定”可能是最好的答案。您有多少个字段?每种部门表单类型存在多少逻辑?

如果您将所有字段拆分到单独的模型(和相应的表)中,如果您希望在填写表单后获得完整的概述,这将成为一件麻烦的事情,因为它们将位于单独的表中。您必须遍历表单的每个关联才能获得完整的表单。

如果您仍然想拆分它们,因为每个部门都有很多逻辑,您可以使用table_name将所有模型指向一个包含所有字段的“主”表。这样,您就可以将所有数据放在一个表中,并且可以轻松地检索到这些数据。但是,您还必须保存表单类型,以便在正确的模型中检索它,这可能会带来比实际价值更多的麻烦。(如果将所有字段保存在一个表中也是最好的,那么检索它的频率还是插入/更新它的频率更高。)

简单的表单可能正好适合一个模型。除非每个部门有很多不可共享的代码,否则将表单拆分成单独的模型可能是不值得的。如果您确实将表单拆分为多个模型,那么您可能应该创建一个主表单模型,并让部门模型对其进行扩展,以获得任何可重用的表单逻辑。

在所有这些之后,我会说,我更喜欢简单,所以我可能会把它保存在一个模型中。

票数 2
EN

Stack Overflow用户

发布于 2013-11-15 05:04:35

我拆分了字段,然后您可以使用accepts_nested_attributes_for设置模型以适当地构建表单。

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

https://stackoverflow.com/questions/19987935

复制
相关文章

相似问题

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