Ruby on rails Rails控制器-是否合并?

Ruby on rails Rails控制器-是否合并?,ruby-on-rails,controller,structure,Ruby On Rails,Controller,Structure,我有一个应用程序,可以通过多种方式使用不同的资源。例如: 对于项目: 客户可以创建、查看、编辑和取消其项目 管理员可以查看、编辑和进行其他更改(例如更改 状态和编辑隐藏字段) 供应商可以查看项目并与其他供应商一起添加以前的项目 将客户添加到他们的投资组合中 对于目录结构,我打算在3个单独的控制器下创建它们,即:“客户/项目”、“管理员/项目”和“供应商/项目”。但我现在在想——我应该把这些结合起来,而不是把条件逻辑放在控制器中,以改变每种类型的用户可以看到或做什么 我担心授权(我知道我可以用

我有一个应用程序,可以通过多种方式使用不同的资源。例如:

对于项目:

  • 客户可以创建、查看、编辑和取消其项目
  • 管理员可以查看、编辑和进行其他更改(例如更改 状态和编辑隐藏字段)
  • 供应商可以查看项目并与其他供应商一起添加以前的项目 将客户添加到他们的投资组合中
对于目录结构,我打算在3个单独的控制器下创建它们,即:“客户/项目”、“管理员/项目”和“供应商/项目”。但我现在在想——我应该把这些结合起来,而不是把条件逻辑放在控制器中,以改变每种类型的用户可以看到或做什么


我担心授权(我知道我可以用Pundit来解决这个问题?),但也担心一个控制器过于复杂!在这样的场景中,什么是最佳实践?

我选择将它们分开,主要原因是围绕视图。虽然您可以使用一个控制器对资源进行整合,并使用CanCanCan或Pundit管理授权,但每个控制器的视图都将是众多且唯一的(例如:不同的索引操作、基于各自创建和更新操作的不同项目参数)。把这一切都放在一个控制器将是狗展