【问题标题】:Is it possible to keep different folders for different applications in the root level of RoR project是否可以在 RoR 项目的根级别为不同的应用程序保留不同的文件夹
【发布时间】:2021-06-14 01:18:54
【问题描述】:

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

/admin
/client
/modals
/config
/db

... ...

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

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

如果有办法,请告诉我。

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 namespaces rubygems ruby-on-rails-5


    【解决方案1】:

    您的建议听起来像是 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. 命名空间您的模型/视图/控制器文件。例如class Admin::SomeController < ApplicationController

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

    【讨论】:

    • 不,这是一个 Gem 文件。是的,在我迄今为止所做的研究中,我也发现了这一点。
    猜你喜欢
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多