1

Django のバックグラウンドを持っているので、startproject と startapp コマンドに慣れています。Railsを始めたばかりで、これまでのところ、アプリケーションを開始するための新しいコマンドにしか遭遇していません。

複数のRailsアプリを接続するプロジェクトがある場合、ディレクトリ構造とインタラクティブ性はどのようになるべきか疑問に思っていましたか? django では、メイン プロジェクトに startproject を使用し、個々のアプリに startapp を使用します。urls.py ファイルを使用して、各アプリのルーティングを接続できます。

ここで構造を見てきました。これはプロジェクトの構造ですか、それとも単一のアプリの構造ですか (分離する必要がある複数のアプリを含むプロジェクトを作成したいとします)。また、新しいコマンドで作成された複数の「アプリ」がある場合、どのようにアプリをリンクしますか (django は、プロジェクト ディレクトリから始まる絶対インポートと相対インポートを許可し、URL ルーティングを処理する urls.py を持っていました)。

4

1 に答える 1

2

私は Django の経験はありませんが、Rails に相当するのはRails Enginesを使用することだと思います。

Rails エンジンを使用すると、エンジンのルートをホスト アプリケーション内に「マウント」できます。たとえば、次のようになります。

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

たとえばapp/lib/engines/myengine、必要に応じて、この gem をホスト アプリケーションのディレクトリ構造にネストし、Gemfile 内のパスで参照することができます。

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

エンジンは Rails アプリケーションに非常に似ていますが、重要な違いについてはガイドを参照してください。

于 2013-08-06T14:59:28.377 に答える