我有一个Reservation模型,我的用户学生角色可以在线创建预订。 我已经添加了具有指导者角色的用户的离线创建保留的能力。将行为分离为两个控制器,这两个控制器对单个模型起作用
控制器动作新和创建这两个流程是完全不同的。关联的视图模板也有许多不同之处。
我曾考虑在控制器和视图中使用if角色==讲师检查,以允许我使用单个控制器来覆盖两个流。但我不太喜欢这种方法。
因此,我做了一个单独的控制器和用于offline_reservations的模板。 这工作正常,但我有问题使用CanCan来控制对它的访问,因为两个控制器使用相同的保留模型。
我没有做一个其他的变化,我搬到了新的控制器到一个命名空间, 所以现在它位于
/offline/reservations/new
,而不是
/offline_reservations/new
但我不知道这是一个改进与否。
有人可以建议什么是处理这种情况的最佳方法是?
我对单个模型有两组截然不同的行为。我如何让他们分开。我真的不希望他们都在一个控制器中,但如果这是最好的,那么就这样吧。
既然有一个单一的模式,我需要得到康康舞,让我来限制访问每个控制器的类型,但我发现很困难,因为它们都使用相同的模型
是用户命名空间控制器好/坏在这种情况下..
[中授权的命名空间,并使用嵌套惭惭控制器]的可能重复(http://stackoverflow.com/questions/12334367/authorizing-namespaced-and-nested-controllers-using-cancan) – 2013-06-02 17:54:30