1

来自 django 背景,我习惯了 startproject 和 startapp 命令。我刚开始使用 Rails,到目前为止,我只遇到了启动应用程序的新命令。

我想知道如果您有一个连接多个 Rails 应用程序的项目,目录结构和交互性应该是什么样的?在 django 中,我们将 startproject 用于主项目,将 startapp 用于每个单独的应用程序,并且使用 urls.py 文件我们可以连接每个应用程序的路由。

我看过这里的结构。这是项目的结构还是单个应用程序的结构(假设我想制作一个包含多个需要解耦的应用程序的项目)?另外,如果我有多个由新命令创建的“应用程序”,我将如何将这些应用程序链接在一起(django 允许从项目目录开始的绝对和相对导入,并使用 urls.py 来处理 url 路由)?

4

1 回答 1

2

我没有使用 Django 的经验,但我的猜测是 Rails 等价物是使用Rails Engines

使用 Rails 引擎,您可以在主机应用程序中“挂载”引擎的路由,例如:

# config/routes.rb
mount MyEngine::Engine, at: "/my_engine"

您可以将此 gem 嵌套在主机应用程序的目录结构中,例如,app/lib/engines/myengine如果您愿意,并使用 Gemfile 中的路径引用它:

gem 'my_engine', path: "lib/engines/my_engine/"

引擎与 Rails 应用程序非常相似,但请阅读指南以了解关键差异。

于 2013-08-06T14:59:28.377 回答