Ruby on rails 拆分rails模型与将一个模型用于组合表单

Ruby on rails 拆分rails模型与将一个模型用于组合表单,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我正在开发一个应用程序,允许公司不同部门的不同人员登录并编辑表单。每个部门在表单中都有特定字段,只有他们才允许编辑和查看这些字段 如果我为整个字段集创建一个模型,并根据登录者呈现包含必要字段的不同表单,代码是否会更有条理?还是将特定于部门的字段拆分为其自己的模型,然后根据登录者的身份,呈现包含其特定字段的表单,并通过某种外键将不同部门的记录关联在一起?我将拆分字段,然后您可以使用设置模型来适当地构建表单。这可能是最好的答案。 你有多少字段?每个部门表单类型存在多少逻辑 如果您将所有字段拆分为单独

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


如果我为整个字段集创建一个模型,并根据登录者呈现包含必要字段的不同表单,代码是否会更有条理?还是将特定于部门的字段拆分为其自己的模型,然后根据登录者的身份,呈现包含其特定字段的表单,并通过某种外键将不同部门的记录关联在一起?

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

这可能是最好的答案。 你有多少字段?每个部门表单类型存在多少逻辑

如果您将所有字段拆分为单独的模型(和相应的表),那么如果您希望在填写表单后对表单进行完整的概述,这将成为一个难题,因为表单将位于单独的表中。你必须通过表格的每一个关联才能得到完整的表格

如果您仍然希望拆分它们,因为每个部门都有很多逻辑,您可以使用将所有模型指向一个包含所有字段的“主”表。这样,您就可以将所有数据放在一个表中,并且可以轻松地检索它。但是,为了在正确的模型中检索表单,您还必须保存表单的类型,这可能会带来更多麻烦。(如果将所有字段保存在一个表中也是最好的选择,那么它多久被检索一次,或者插入/更新一次。)

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

毕竟,我会说,我更喜欢简单,所以我可能会把它保存在一个模型中