我有一个应用程序,有多种方式可以使用不同的资源。例如:
对于项目:
对于目录结构,我原本打算在3个独立的控制器下创建这些控制器:“客户/项目”,“管理员/项目”和“供应商/项目”。但我现在正在考虑 - 我是否应该将所有这些结合起来而不是在控制器中放置条件逻辑来改变每种类型的用户可以看到或做的事情?
我担心授权(我知道我可以使用Pundit来解决这个问题吗?)但也有关于使一个控制器复杂化的问题!在这样的场景中,最佳做法是什么?
答案 0 :(得分:0)
我选择将它们分开,主要原因是围观。虽然您可以使用一个控制器合并资源,并使用CanCanCan或Pundit管理授权,但每个控制器的视图将是众多且唯一的(例如:不同的索引操作,基于相应的创建和更新操作的不同project_params)。将这一切都放在一个控制器中就是狗展!