rails目录结构为多个应用程序?

时间:2013-08-06 14:50:28

标签: ruby-on-rails

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

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

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

1 个答案:

答案 0 :(得分: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应用程序非常相似,但请阅读指南中的关键差异。