提问人:Shanaka Kuruwita 提问时间:3/17/2021 最后编辑:Shanaka Kuruwita 更新时间:3/17/2021 访问量:21
是否可以在 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 中的命名空间,但据我了解,我无法仅使用命名空间来做到这一点。我想我需要做一些配置级别的更改器,不是吗?
如果有办法做到这一点,请告诉我。
谢谢。
答:
1赞
NM Pennypacker
3/17/2021
#1
你的建议听起来像是 5 个独立运行的 Rails 应用程序。这些目录中的每一个都有自己的数据库吗?Gemfile
做你想做的事是可能的,但几乎可以肯定的是,这比它的价值更麻烦。您必须覆盖一些路径配置,进行调整以连接每个实体 (https://guides.rubyonrails.org/action_view_overview.html#view-paths) 的目录,以及可能更多。Rails 是一个固执己见的框架,它不会优雅地做这样的事情。models/views/controllers
“Rails”的方法是:
- 为每个目录添加一些命名空间路由
- 添加目录
app/models/admin app/views/admin app/controllers/admin etc.
- 命名模型/视图/控制器文件。例如:
class Admin::SomeController < ApplicationController
如果其中每个应用程序确实是它自己的应用程序,那么你可能希望为它们中的每一个创建一个存储库,以便它们分别处于版本控制中。
评论
0赞
Shanaka Kuruwita
3/19/2021
不,这是一个 Gem 文件。有 根据我到目前为止所做的研究,这也是我发现的。
评论