我有预订模式,我的学生角色的用户可以在线创建预订。 我已为具有讲师角色的用户添加了离线创建预留的功能。
控制器操作 new 和 create 对于这两个流程完全不同。关联的视图模板也有许多不同之处。
我曾考虑在控制器和视图中使用if role ==讲师检查以允许我用单个控制器覆盖两个流。但我真的不喜欢这种方法。
因此,我为offline_reservations创建了一个单独的控制器和模板。 这工作正常,但我在使用CanCan来控制对它的访问时遇到了问题,因为两个控制器都使用相同的预留模型。
我做了另一个更改,我将新控制器移动到命名空间, 所以它现在位于
/offline/reservations/new
而不是
/offline_reservations/new
但我不确定这是否有所改善。
有人可以建议处理这种情况的最佳方法是什么?
我对单个模型有两组不同的行为。我如何将它们分开。我真的不希望它们都在一个控制器中,但如果那是最好的那么就是它。
由于只有一个模型,我需要让CanCan允许我限制对每种类型控制器的访问,但我发现很难,因为它们都使用相同的模型
在这种情况下,命名空间控制器的用户是好还是坏..