我对一个新的 Rails 应用程序有一个有点奇怪的要求。我需要构建一个应用程序,其中所有路由都在多个命名空间中定义(让我解释一下)。我想要一个应用程序,其中学校科目(数学、英语等)是命名空间:
%w[math english].each do |subject|
namespace subject.to_sym do
resources :students
end
end
这很好,而且有效,但它需要我StudentsController
为每个主题创建一个命名空间,这意味着如果我添加一个新主题,那么我需要创建一个新控制器。
我想要的是创建一个Base::StudentsController
,如果,假设Math::StudentsController
存在,那么它将被使用,如果它不存在,那么我们可以动态创建这个控制器并从Base::StudentsController
.
这是可能的吗?如果是这样,那么我将如何实施呢?