是否可以在 RoR 项目的根级别为不同的应用程序保留不同的文件夹

Is it possible to keep different folders for different applications in the root level of RoR project

这就是我想要实现的目标。我想构建一个带有管理员和客户端门户的应用程序。因此,我想为这两个门户构建一个单一的 RoR 应用程序,并且我希望将每个门户的代码在根级别分开。所以基本上以下是我想在我的项目中拥有的文件夹结构。

/admin
/client
/modals
/config
/db

... ...

所以我想在每个文件夹中分别保留控制器、视图和其他与每个项目相关的内容。

所以我也想将模式文件夹移动到根级别。我阅读了 RoR 中的命名空间,但据我所知,我无法单独使用命名空间。我想我需要做一些配置级别更改,不是吗?

如果有办法做到这一点,请告诉我。

谢谢。

您的建议听起来像是独立的 5 Rails 个应用程序 运行。这些目录中的每一个都有自己的 Gemfile 数据库吗?

有可能做你想做的事,但几乎肯定会很麻烦,得不偿失。您必须覆盖一些路径配置,进行调整以连接每个实体 (https://guides.rubyonrails.org/action_view_overview.html#view-paths) 的 models/views/controllers 目录,可能还有更多。 Rails 是一个自以为是的框架,它不会优雅地做这样的事情。

'Rails' 方法是:

  1. 为每个目录添加一些命名空间路由
  2. 添加 app/models/admin app/views/admin app/controllers/admin etc. 个目录
  3. 命名您的 model/view/controller 文件。例如class Admin::SomeController < ApplicationController

如果它们中的每一个真的都是自己的应用程序,那么您可能希望为它们中的每一个创建一个存储库,以便它们分别处于版本控制中。